系统应用申请( ApplicationInfo.FLAG_SYSTEM必须置位)才有效, 在 SystemReady的时候被启动, 先于 Launcher 被启动.
而且这个属性生效之后, 进程被杀会自动重启.
也就是说 persistant 为 true, 不需要接收开机广播, 也能起来, 并且起来的时机比开机广播还要早.
另外一个进程属于 persistant 进程, 它的子进程并不属于 persistant 进程.
另外, 对于 persistant 进程进行OTA要十分注意, persistent进行在OTA的时候不会被杀和重启, 仅仅是更新一下ProcessRecord中的组件信息等, 这样就会导致一些问题. 最好OTA之后能重启一下机器.
如果OTA之后没有重启机器, 我们可以接收该应用的安装广播, 然后通过 context 的 startInstrumentation 强制杀一下该 persist进程, 但是这样风险更大, 因为这个时候的进程, 并不是 persist的, 所以还不如第一种方法让用户重启.
网友评论