persist 应用自启流程
什么自启应用?
通常应用会在AndroidManifest.xml中配置自身的各种行为,比如需要再系统开机时就把自己的进程唤醒,通常情况下会在AndroidManifest.xml中配置android:persistent="true"
为什么配置android:persistent="true"后就能做到自启?
在系统启动过程中,SystemServer
会通过调用 startOtherServices()
方法启动各种服务,同时执行 ActivityManagerService
的 systemReady()
方法。在此方法中,系统会调用 startPersistentApps()
来启动持久化应用(persistent apps)。在加载这些应用时,系统会进行过滤,以确保只启动符合条件的应用,从而合理管理系统资源。
-
当前的应用是否配置了isPersistent
-
检测安全模式,如果是安全模式就不启动
-
当前的应用是否是系统应用