android 后台保活我大该使用了下面几种:
1.双进程 拉起 —6.0以下
2. JobService --6.0以上
3. 1像素保活 — 怎么说呢,感觉是7.0以下。适应度低。(问题多,就没使用了)
4. 无限保活音乐 ---- 效果最好,但是呢耗电。由于我项目特殊性,也采用了。
还使用了前台服务。 所以效果还是可以了,被杀死情况还算少。但是呢,也是很耗电的。
由于我项目特殊,是给专门的人使用,还会给他们配上充电器。所以就不管了。
下面我说下我怎么实现的。 1像素保活,由于有时候监听不到部分系统的,会闪退等
问题就没有使用了。 最后给大家加上,提供参考。
先说下大概的类:
DownloadService :我们工作的类,也就是为了保活这个service.
GuardService; 守护服务
StepService:主服务
这俩个是双进程 拉起
PlayerMusicService: 无限播放音乐,后面为了好控制关闭,就在工作类中使用无限播放音乐
ScheduleService: JobService 保活方式
ServiceAliveUtils:判断工作服务是否还活着的工作类
public class ServiceAliveUtils {
public static boolean isServiceAlice() {
boolean isServiceRunning = false;
ActivityManager manager = (ActivityManager) MyApption.getMyApplication().getSystemService(Context.ACTIVITY_SERVICE);
if (manager == null) {
return true;
}
for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if (" com.example.admin.linyuandome.houtaibaohuo.DownloadService".equals(service.service.getClassName())) {
isServiceRunning = true;
}
}
return isServiceRunning;
}
}
双进程: