防止Service因进程被杀死而销毁解决方法调查

一般情况下一个服务没有自己独立的进程,它一般是作为一个线程运行于它所在的应用的进程中
1.有些Intent无法静态注册导致如果由Service来启动广播接收者进而广播接者动态注册相应Intent来处理事件的话,这种情况下Service如果被kill掉,那么广播接收者只能监听到静态注册的intent
2.提高Service的存活率
    1.前台Sevice,需要设置notification,不一样所有应用都适合做这种操作,即使是透明背景的notification也会被用户发现
    2.在onDestroy的时候重启自身,只能保证用户手动关闭服务的时候重启,强制杀死整个进程的话是不会调用这个函数的
    3.使自己的程序变为系统级应用程序,设置android:persistent="true",还需设置FLAG_SYSTEM,此时需要使用adb命令来将应用放在/system/app/目录下,不可行, 而且这种做法会存在如果该种应用过多而系统崩溃的问题
3.android:process=":remote"设置该属性使service在指定进程上运行,无效,原因应该是虽然是在另一个进程运行,但是用户使用强制关闭所有进程时该进程也会被结束掉, 未尝试系统进程,但是会有兼容性问题,不同厂商的系统进程名不一定一样
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值