(1)在应用退到后台后,另起一个只有1像素的页面停留在桌面上,让自己保持前台状态,保护自己不被后台清理工具杀死. (2)用Foreground Service. 参考地址:Android Service 全解(三) 之 Foreground Service(3)application 设置android:persistent后,虽然不会被low memory killer处理,只对System App管用 参考地址:Android: HowTo设置app不被系统kill掉 (4)基于Androi…
本文分为两个部分,第一部分为双Service守护,第二部分为双进程守护 第一部分: 一.Service简介:Java.lang.Object ↳Android.content.Context  ↳android.content.ContextWrapper  ↳android.app.Service Service是应用程序Application的一个组件(component).它的作用有两点:1.用来提供一个长期在后台运行并且不与用户交互的操作,2.也可以为其他应用程序提供服务.Service…
本文分为两个部分,第一部分为双Service守护,第二部分为双进程守护 第一部分: 一.Service简介:Java.lang.Object ↳Android.content.Context  ↳android.content.ContextWrapper  ↳android.app.Service Service是应用程序Application的一个组件(component).它的作用有两点:1.用来提供一个长期在后台运行并且不与用户交互的操作,2.也可以为其他应用程序提供服务.Service…
Android 其实无法做多绝对的不被后台kill掉,我们只能尽量使用一些操作提升不被kill的机会. 一.onStartCommand方法,返回START_STICKY   START_STICKY 在运行onStartCommand后service进程被kill后,那将保留在开始状态,但是不保留那些传入的intent.不久后service就会再次尝试重新创建,因为保留在开始状态,在创建     service后将保证调用onstartCommand.如果没有传递任何开始命令给service,…
http://www.kaifajie.cn/android/10182-2.html 每次调用startService(Intent)的时候,都会调用该Service对象的onStartCommand(Intent,int,int)方法,这个方法return 一个int值,return 的值有四种: START_STICKY:如果service进程被kill掉,保留service的状态为开始状态,但不保留递送的intent对象.随后系统会尝试重新创建service,由于服务状态为开始状态,所以…
Service简介 1.Service 每个Service必须在manifest中 通过<service>来声明. 可以通过contect.startservice和contect.bindserverice来启动. 和其他的应用组件一样,运行在进程的主线程中.这就是说如果service需要很多耗时或者阻塞的操作,需要在其子线程中实现(或者用系统提供的IntentService,它继承了Service,它处理数据是用自身新开的线程).[当然你也可以在新的线程中startService,这样Se…
2014-01-21 16:45:02 我们知道,当进程长期不活动时,如果系统资源吃紧,会杀死一些Service,或不可见的Activity等所在的进程. 如何避免Service被系统杀死,随便在网上搜一下,都能搜到好几种方法,但是每一种方法都有不同的适用环境. 1. 添加android:persistent="true" 添加android:persistent="true"到AndroidManifest.xml,Google文档描述如下: Whether or…
用于在后台完成用户指定的操作,为其他组件提供后台服务或监控其他组件的运行状态. 开发人员需要在应用程序配置文件中声明全部的service,使用<service></service>标签. 1. 使用context.startService() 由其他组件调用startService()方法启动的,这导致服务的onStartCommand()方法被调用.当服务是started状态时,其生命周期与启动它的组件无关,并且可以在后台无限期运行,即使启动服务的组件已经被销毁.因此,服务需要在…
序言 最近项目要实现这样一个效果:运行后,要有一个service始终保持在后台运行,不管用户作出什么操作,都要保证service不被kill,这可真是一个难题.参考了现今各种定制版的系统和安全厂商牛虻软件,如何能保证自己的Service不被杀死呢? 其实除了常规的手段,我们可以参考一下微信和360,设置-程序-正在运行,可以看到微信是同时开启了两个进程和服务: [有兴趣可以研究一下 守护进程 和 AIDL ] 我猜想它应该是相互监听,如果有一方被kill掉,另一个捕获到立即启动,以达到servi…
序言 最近项目要实现这样一个效果:运行后,要有一个service始终保持在后台运行,不管用户作出什么操作,都要保证service不被kill,这可真是一个难题.参考了现今各种定制版的系统和安全厂商牛虻软件,如何能保证自己的Service不被杀死呢? 其实除了常规的手段,我们可以参考一下微信和360,设置-程序-正在运行,可以看到微信是同时开启了两个进程和服务: [有兴趣可以研究一下 守护进程 和 AIDL ] 我猜想它应该是相互监听,如果有一方被kill掉,另一个捕获到立即启动,以达到servi…