android中Service被系统进程杀死后如何重启

      在android应用开发中,我们经常会用到Service让在运行在后台帮我们处理一些耗时间和性能的事情。android系统会在内存达到一定程度的时候杀死一些线程,后台运行的Service就经常在这之列。为了保证一些功能的顺利运行,那我们需要在Service被杀死后,重新启动这个Service。总结有几个方法:

一:利用Service生命周期,在onDestroy()方法中重启这个Service。这样系统就默认你的进程常驻内存了

二:如果是一些内存管理软件杀掉了程序进程时,以上方法就没用了。我们还是可以通过截获一些关键广播来启动自己的service。可以通过监听wifi连接,电池电量发生变化等广播来启动自己的service。

     以上方法都是为了解决Service被杀死后重启,治标不治本,不能从根本上解决问题或者提高性能。在eoe看到一篇文章得到思路,可以利用系统定时发送广播,然后用广播接收器启动你的服务,然后用服务拿到Wakelock,再执行你需要的操作,再然后释放掉Wakelock,让手机进入休眠状态,等待下一次发送广播。这样完全可以从根本解决了这个问题,而且比原来用service常驻内存的方法更加提升了性能!本文仅给出思路,详细请查阅:http://my.eoe.cn/indexer/archive/4587.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值