最近写了一个后台服务程序,大多数情况下都能正常运行,但在系统内存出现不足时,还是会被Android的low memory killer杀掉,在网上搜了下,找到了如下的解决方法:

完全让进程不被kill是不可能的,我们可以通过一些操作, 使进程被kill的几率变小:
1 提高进程的优先级:
后台操作采用Service形式,因为一个运行着service的进程比一个运行着后台activity的等级高。
2按back键使得进程中的activity在后台运行而不是destory,需重载back按键(没有任何activity在运行的进程优先被杀).
3依赖于其他优先级高的进程.

强制修改进程属性:
在程序中设置setPersistent(true);
在project的AndroidManifest.xml的<application>中加入属性android:persistent="true"
android:persistent(SDK)
Whether or not the application should remain running at all times . The default value is "false". Applications should not normally set this flag; persistence mode is intended only for certain system applications(phone,system).

更多关于Android的进程优先级与进程回收的介绍,请参考下文:

http://blog.csdn.net/yk_hu0621/article/details/7085536

更多相关文章

  1. 如何在后台运行Linux命令?
  2. 一款霸榜 GitHub 的开源 Linux 资源监视器!
  3. [Java][Android][Process] ProcessBuilder与Runtime区别
  4. Android(安卓)OpenGLES2.0(十五)——利用EGL后台处理图像
  5. Android笔记之adb命令应用实例1(手机端与PC端socket通讯下)
  6. Android进程内存查看
  7. 【腾讯Bugly干货分享】Android(安卓)进程保活招式大全
  8. Android(安卓)IntentService完全解析 当Service遇到Handler
  9. Android之AIDL使用binder进程间通信原理

随机推荐

  1. Android之Widget (微件、小组件)
  2. 细读《深入理解 Android(安卓)内核设计思
  3. Android(安卓)Camera的预览回调接口Previ
  4. Button的高宽无故变大了!
  5. 转Android(安卓)安全攻防(三): SEAndroid(安
  6. Android中Handler消息处理机制原理
  7. EventBus使用详解(二)——EventBus使用进
  8. Android(安卓)轮播图---ViewFlipper
  9. android开发之路04(初级android工程师必会
  10. PopupWindow(一)