android前台服务也被杀,android如何让后台服务service不被杀死(设置前台服务)

本文介绍了如何通过设置前台服务防止Android服务被系统杀死。在讲解过程中,作者以一个定时提醒应用为例,指出长时间运行的service可能会被系统回收。通过展示前台服务的代码,解释了startForeground()方法的使用,以及如何创建和设置Notification,以保持服务在状态栏显示,从而确保服务持续运行。同时,作者也提醒开发者注意前台服务可能带来的内存和电量消耗问题。
摘要由CSDN通过智能技术生成

笔者上篇做了一个定时提醒的小应用,但是最后遗留了一个问题,那就是如果设置提醒的间隔时间过长,那么计时的service便会被android系统kill掉。(主要是由于android自带内存清理)

在进行了大量的查阅和测试后,笔者终于解决了该问题:

当然,在此也要稍微提一下,笔者只测试了,在以一小时为左右的时间内可以不被杀死,还没有测试2个小时以上的情况,更没有测试以天为单位的时间,具体测试如下:(item右下角是程序执行的时间)

![](https://box.kancloud.cn/2016-03-01_56d551ef823d5.jpg)

好了,进入正题,如何解决service会被kill的情况呢?

那就是设置**前台服务**,那什么是前台服务呢?

如果你希望服务可以一直保持运行状态,而不会由于系统内存不足的原因导致被回收,就可以考虑使用前台服务。前台服务和普通服务最大的区别就在于,它会一直有一个正在运行的图标在系统的状态栏显示,下拉状态栏后可以看到更加详细的信息,非常类似于通知的效果。

接下来就以墨迹天气为例,如下图:

![](https://box.kancloud.cn/2016-03-01_56d551efb0ece.jpg)

大家有没有想过,墨迹天气是如何能够在后台不断更新通知栏的中天气,并且不被kill掉的呢?

没错,就是用到了**前台服务**。好了,接下来就讲一下具体怎么使用。

首先看一下整个Service的代码:

~~~

public c

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值