其实Android框架的思想是很好的,对于空的进程,没事干的进程直接kill掉,对于用户体验来讲是不会有影响的,但是往往我们的App都会有推送这个功能,恰巧GCM(Google Cloud Messaging)在国内又不能用,所以很多情况下我们也会希望App在后台的时候也尽量不要被杀。
可以考虑把后台App进程的优先级提高,下面有几个方法:
- AndroidManifest.xml中配置persistent属性
- 重载back按键事件,让activity在后台运行,不要Destory
- 开Service,并设置前台运行方式
- 与NotificationManager交互,让进程变成可感知进程
- 发送/接收广播,别让自己变成空进程
很明显这会消耗更多的电量,也有点流氓,有些需求也许本就不该做。