在11.0的系统rom定制开发中,在系统中,对于后台运行的app过多的时候,会比较耗内存,导致系统运行有可能会卡顿,所以在系统优化的
过程中,会限制后台app进程运行的数量,来保证系统流畅不影响体验,所以需要分析下系统中关于限制app进程的相关源码来实现功能
packages\apps\Settings\src\com\android\settings\development\BackgroundProcessLimitPreferenceController.java
packages\apps\Settings\res\xml\development_settings.xml
frameworks\base\services\core\java\com\android\server\policy\PhoneWindowManager.java
Android O开始对应用在后台运行时可以执行的操作施加了限制,称为后台执行限制(Background Execution Limits),这可以大大减少应用的内存使用和耗电量,提高用户体验。后台执行限制分为两个部分:
后台服务限制(Background Service Limitations)、广播限制(BroadcastLimitations)
当app在后台运行的服务在几分钟内会被stop掉(模拟器测试在1分钟左右后被kill掉)。在这段时间内,应用仍可以创建和使用服务
后台服务限制:后台应用程序无法创建随意长时间运