如何阻止360等进程查杀工具停止App后台进程
安全软件优化内存时需要关闭没用的进程
既然你同意使用360,,也允许了360的最高权限。。那么他就有足够的权限来杀掉app后台进程。

一 如何保证app进程不被杀掉(可以研究一下 守护进程 和 AIDL )

1 如果将服务放在系统主进程中就应该不会被杀掉?system/app
2 守护进程
相互监听,如果有一方被kill掉,另一个捕获到立即启动,以达到service永远都在运行的状态
例如:微信是同时开启了两个进程和服务

拥有service的进程具有较高的优先级
官方文档告诉我们,Android系统会尽量保持拥有service的进程运行,只要在该service已经被启动(start)或者客户端连

接(bindService)到它。当内存不足时,需要保持,拥有service的进程具有较高的优先级。

3 onDestroy方法里重启service
service +broadcast 方式,就是当service走ondestory的时候,发送一个自定义的广播,当收到广播的时候,重新启

动service;

二 保持service存活的方法?
1 onStartCommand方法,返回START_STICKY---------------
StartCommond几个常量参数简介:
1、START_STICKY
在运行onStartCommand后service进程被kill后,那将保留在开始状态,但是不保留那些传入的intent。不久后service就

会再次尝试重新创建,因为保留在开始状态,在创建 service后将保证调用onstartCommand。如果没有传递任何开始

命令给service,那将获取到null的intent。
【结论】 手动返回START_STICKY,亲测当service因内存不足被kill,当内存又有的时候,service又被重新创建,比较

不错,但是不能保证任何情况下都被重建,比如进程被干掉了

2 提升service优先级

在AndroidManifest.xml文件中对于intent-filter可以通过android:priority = "1000"这个属性设置最高优先级,1000

是最高值,如果数字越小则优先级越低,同时适用于广播。
【结论】目前看来,priority这个属性貌似只适用于broadcast,对于Service来说可能无效

3 提升service进程优先级
Android中的进程是托管的,当系统进程空间紧张的时候,会依照优先级自动进行进程的回收
当service运行在低内存的环境时,将会kill掉一些存在的进程。因此进程的优先级将会很重要,可以使用

startForeground 将service放到前台状态。这样在低内存时被kill的几率会低一些。

4 Application加上Persistent属性
看Android的文档知道,当进程长期不活动,或系统需要资源时,会自动清理门户,杀死一些Service,和不可见的

Activity等所在的进程。但是如果某个进程不想被杀死(如数据缓存进程,或状态监控进程,或远程服务进程)

5 监听系统广播判断Service状态
通过系统的一些广播,比如:手机重启、界面唤醒、应用状态改变等等监听并捕获到,然后判断我们的Service是否还存

活,别忘记加权限啊。

6 将APK安装到/system/app,变身系统级应用
需要系统root过

相关url:http://blog.csdn.net/mad1989/article/details/22492519

最新文章

  1. Solr环境搭建过程中遇到的问题
  2. 音乐播放(AVAudioPlayer)
  3. Django + Apache + 树莓派 搭建内网微信公众号服务器
  4. SQLExecption:Operation not allowed after ResultSet closed解决办法
  5. 【iCore3 双核心板】例程四:USART通信实验——通过命令控制LED
  6. java攻城狮之路(Android篇)--与服务器交互
  7. 8. redis的主从复制和sentinal
  8. 现代程序设计——homework-02
  9. ActiveX控件的安全初始化和脚本操作 和 数字签名SIGN
  10. WTL版本ACEdit控件,改写自MFC版,附带源码
  11. Websocket-Sharp获取客户端IP地址和端口号
  12. 获取windows凭证管理器明文密码
  13. Excel读写
  14. C#-VS SQLServer数据库编程-摘
  15. linux2.6.30.4内核移植(6)——移植应用程序hello world常见的错误:-bin/sh ./hello not found
  16. Facade 设计模式
  17. grid网格的流动定位
  18. Intro to Python for Data Science Learning 6 - NumPy
  19. vc++获取系统网卡列表及IP地址信息
  20. 添加 MyEclipse Persistence Tools 类库

热门文章

  1. List集合基于某个字段排序
  2. MySQL基础(三)
  3. IntelliJ IDEA 2016.2激活方法
  4. lightoj 1427 - Substring Frequency (II) AC自动机
  5. C语言实现 字符串过滤并修改并返回个数
  6. Futoshiki求解
  7. mac端的优秀抓包工具——Charles使用
  8. Linq To Nhibernate 性能优化(入门级)
  9. 在windows 下安装启动redis
  10. javascript语言精粹摘要