## 黑域介绍

“`黑域`”通过劫持几个系统API，保证`阻止列表`里的应用只在需要时才启动，同时支持谷歌家族应用。

没有运行的`阻止列表`应用只会在以下几种情况下启动：

- 启动器或者第三方应用启动活动(Activity)，如手动打开、分享、部分支付等；
- 桌面小部件定时更新，但是只能运行30秒；
- 同步开启时的定时同步，也只能运行30秒；
- 除`谷歌服务`外的系统服务，或者支付宝的支付服务；
- 其它可能的用户行为引起的启动。

注意：当`谷歌服务`在阻止列表时，只有`谷歌家族应用`和第三方的`GCM`应用可以使用。同时，当有任何一个`谷歌家族应用`没有退出时，都不会退出`谷歌服务`。当然，只有`GMS`运行时才能接收`GCM`消息，并唤醒相应应用。

警告：请谨慎阻止“系统应用”，以及常用应用。要不然，你可能无法及时收到短信或其它重要消息。“`黑域`”不会显示和系统同一签名的系统应用，也不会显示系统内置的启动器。

警告：请不要阻止“`Xposed Installer`”，否则模块更新时，无法更新模块路径，导致重启以后无法加载模块。

提示：有些用户无法或不愿分清`HOME`与`返回键`区别，可以开启“强行停止后台程序”，在离开程序一段时间后并黑屏时退出应用。这项功能默认关闭。

“`黑域`”支持Android 4.4到7.1，本人主要在7.1上测试。

## 使用说明

1. 给系统打“`黑域`”补丁。
2. 重启后，打开“`黑域`”，配置`阻止列表`(这个只需要一次)。
3. 正常使用手机，临时退出时按`HOME`，不用时按`返回键`退出或者从最近列表划掉。

“`黑域`”不杀非`服务`的程序，但是保证非`服务`类进程不会变成`服务`在后台一直运行。

## 特别搜索

- `-3` 用户安装的第`三`方程序
- `-a` 全部程序（默认仅展示第三方和谷歌家族的程序）
- `-s` 系统预装的程序
- `-e` 没有阻止的程序
- `-r` 正在运行的程序
- `-g` `谷`歌家族的程序
- `-sg` 除谷歌家族外的系统程序

## 进程级别

### 后台(background)

可被回收的后台进程。(译者注：或译缓存的后台进程，不需要主动清理。)

### 空(empty)

进程不包含任何正在运行的代码。

### 前台(foreground)

进程正在前台运行，也是你正在使用的应用。（译者注：当你在“`黑域`”中查看进程状态时，“`黑域`”永远是前台。）

### 前台服务(foreground service, 自Android 6.0)

进程包含前台服务，比如播放音乐等，通常表明正在处理一些用户关心的事情。

### 无(gone, 自Android 5.0)

进程不存在。

### 察觉(perceptible)

虽然用户不能直接注意到，但是某种层次上可以感觉到（译者注：如输入法）。

### 服务(service)

包含需要持续运行的服务。这些是已经启动的后台服务，用户并不能注意到，它们也有可能被系统回收（虽然从设计上会被一直运行下去）。

### 前台休眠(top sleeping，自Android 6.0)

进程在前台运行，但是设备正在休眠，所以用户看不见。这意味着用户并不能真正注意到它，因为看不见也无法操作，但是当设备解锁时期望立即看到，所以也非常重要。

### 可见(visible)

进程对用户可见，虽然不一定是最近的前台。它可能运行在当前前台后的窗口，虽然已经暂停并且保存状态，也无法使用，但是某种层次上用户能见到；也可能是系统控制下的其它重要服务。

## 项目

“`黑域`”代码暂时不开源，项目地址：Brevent - GitHub。如果喜欢，请随意捐赠。