为了增强用户隐私,Android 9 引入了若干行为变更,如限制后台应用访问设备传感器、限制通过 Wi-Fi 扫描检索到的信息,以及与通话、手机状态和 Wi-Fi 扫描相关的新权限规则和权限组。无论采用哪一种目标 SDK 版本,这些变更都会影响运行于 Android 9 上的所有应用。后台对传感器的访问受限,Android 9 限制后台应用访问用户输入和传感器数据的能力。 如果您的应用在运行 Android 9 设备的后台运行,系统将对您的应用采取以下限制:
如果您的应用需要在运行 Android 9 的设备上检测传感器事件,请使用前台服务。
这些规则的更新主要受影响的服务为,sensorservices,audioservices,cameraservices
如果应用刚从前台切换到后台,那么我们会等一分钟,等一分钟设计者的目的是为了,让当前进程有时间去进行收尾工作,然后我们才让该进程进入IDLE状态。在这里做了一个delay处理,时间到了后会调用idleUids(),最后会停止idle状态下,该UID所关联的服务。
下面以audioservices为例来说明sen