对Android进程优先级和Service的理解

     刚才又看了android的官方文档,对它的进程优先级和service理解得更多了。android为了管理内存释放有限的空间,会根据优先级杀掉一些进程,进程优先级越低的优先被清除。从高到低依次为:

     1. foreground process

     2. visible process

     3. service process

     4.  background process

     5. empty process

     这5种优先级别,其中empty process是为了下次在启动该程序而缓存一些数据而保留的进程,这就是为什么当我们退出程序后,长按Home键还能看到该程序进程图标的原因。

    之前一直都不明白用Service有什么好处,因为它还是在主线程跑,要做耗时的工作还得在Service里面另起一个线程,倒不如直接就这样做而不用Service。原来用了Service来处理是为了保证这个工作有较高的优先级,从上面可看到它排在第3,如果不通过Service直接启动线程则当Activity退出或暂停的时候,该进程很容易被杀掉,用Service可以有效地保护起来。 


转自 :http://blog.csdn.net/czh0766/article/details/5689916

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android进程守护是指在Android系统中通过一些机制来保证关键进程的稳定运行,防止其被异常终止或被系统回收。下面是一些常见的Android进程守护方式: 1. 前台服务(Foreground Service):通过将服务设置为前台服务,可以提高其优先级,使其更不容易被系统回收。前台服务通常会在状态栏显示一个持续运行的通知,以提醒用户该服务正在后台运行。 2. JobScheduler:JobScheduler是Android提供的一种调度任务的机制,可以用于执行一些延迟执行或者周期性执行的任务。通过JobScheduler,可以在设备空闲时执行关键任务,从而提高任务的执行成功率。 3. AlarmManager:AlarmManager是Android提供的一种定时任务调度机制,可以在指定的时间点唤醒设备并执行任务。通过设置定时任务,可以保证关键进程在指定时间内得到唤醒和执行。 4. 后台服务(Background Service):后台服务是指在后台运行的服务,不会显示通知栏,但仍然可以保持运行。后台服务通常会使用startService()方法启动,并在服务内部使用startForeground()方法将其提升为前台服务。 5. 进程优先级设置:Android系统会根据进程的重要性和优先级来进行资源分配和回收。通过设置进程优先级,可以提高关键进程的稳定性。可以通过设置android:priority属性或使用setThreadPriority()方法来设置进程或线程的优先级

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值