什么时候会启动多个进程

       Android实现双进程守护的时候启动多个进程,做过android开发的人应该都知道应用会在系统资源匮乏
的情况下被系统杀死!当后台的应用被系统回收之后,如何重新恢复它呢?

1.提高优先级

这个办法对普通应用而言,应该只是降低了应用被杀死的概率,但是如果真的被系统回收了,
还是无法让应用自动重新启动!

2.让service.onStartCommand返回START_STICKY

通过实验发现,如果在adb shell当中kill掉进程模拟应用被意外杀死的情况(或者用360手机卫士进行清理操作),
如果服务的onStartCommand返回START_STICKY,在eclipse的进程管理器中会发现过一小会后被杀死
的进程的确又会出现在任务管理器中,貌似这是一个可行的办法。但是如果在系统设置的App管理中
选择强行关闭应用,这时候会发现即使onStartCommand返回了START_STICKY,应用还是没能重新启动
起来!


3.android:persistent="true"
网上还提出了设置这个属性的办法,通过实验发现即使设置了这个属性,应用程序被kill之后还是不能重新启动起来的!


4.让应用成为系统应用
实验发现即使成为系统应用,被杀死之后也不能自动重新启动。但是如果对一个系统应用设置了
persistent="true",情况就不一样了。实验表明对一个设置了persistent属性的系统应用,
即使kill掉会立刻重启。一个设置了persistent="true"的系统应用,在android中具有core service
优先级,这种优先级的应用对系统的low memory killer是免疫的!


文章来源:www.itlanbao.com

转载于:https://my.oschina.net/u/2461971/blog/538220

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值