Android 后台保活,这里有你需要的所有姿势。2019,最新版本。

DaemonLibrary

项目地址:ShihooWang/DaemonLibrary 

简介:Android 后台保活,这里有你需要的所有姿势。2019,最新版本。

更多:作者   提 Bug   

标签:

 

使用方式

Step 1. Add the JitPack repository to your build file

allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }

Step 2. Add the dependency

    dependencies {
            implementation 'com.github.wangshihu123:DaemonLibrary:1.0.0'
    }

Android 后台保活,这里有你需要的所有姿势。2019,基于 API26 Android O 最新版本。

老规矩,先上项目地址: https://github.com/wangshihu123/DaemonLibrary 结合网上各路大神及自己的项目保活实战(在此不方便透露项目),给出了最新的保活姿势。(如有雷同,纯属巧合)

1.为什么要做 Android 保活?

 首先我个人并不推荐也不喜欢手机应用通过各种手段后台保活,当我们确定一定以及肯定地需要这个功能的时候,
也就只能硬着头皮去与各个手机的后台管理机制做斗争了。

(一句话,产品需求呗)

2.故事背景

  我们的需求是:开启户外运动,需要永驻后台,采集收据,使用过咕咚、悦跑圈的都知道。
  但是不同的机型及厂家,让我们的应用无时无刻地在后台被杀。泪牛满面。。。

渡尽劫波兄弟在-----做 IM 推送的小伙伴同样有这样的情况:

http://www.52im.net/forum.php?mod=viewthread&tid=429&highlight=%B1%A3%BB%EE

还有应用保活终极系列(1-3):(分析了咕咚,乐动力,悦动圈。捎带着科普了微信和 QQ)

http://www.52im.net/forum.php?mod=viewthread&tid=1135&highlight=%B1%A3%BB%EE

十八路神仙,各显神通。

3.保活总结

对于后台保活的各种手段,在网络上比比皆是,总结下来基本是如下几种: 1.开启服务,设置服务杀死重生; 2.开启服务,发送通知,设置为前台服务; 3.双进程保活; 4.检测各种系统广播启动应用; 5.息屏打开 1 像素点 Activity;(QQ 这么干的) 6.开启服务,播放无声音乐(七伤拳,定制 OS 出现锁屏 显示音乐播放界面,及其恶心,比如 miui); 7.优化应用内存(敲黑板,划重点); 以上这些方式在网上都可以查询到,但是因为 android 版本不同 rom 不同,不一定都能派上用场,可自行查找。

这七种方法,最优秀的无非是最后一种,但我总是不去考虑他,真是坏习惯。

4.保活战

在这次保活战中一共涉及了个品牌的手机:

1).随意蹂躏系:

Nexus5、Nexus6、Sony Z5、LG G4、LG G5、Samsung S6 S7(未升级到最新版本)

2).尚有尊严系:

小米 5X、魅族 Note6、OPPO R11、VIVO X9 柔光双摄照亮你的美(...洗脑真可怕)、Samsung J3 J5(升级到最新版本)、华为 P9 P10、荣耀 8(当你在后台啥都不做的时候,或者稍微动了一下)

3).宁死不屈系:

华为 P9 P10 mate10 v20 荣耀 8(当你在后台动个不停的时候)

对于随意蹂躏系,请你一定要好好照顾它。它们提供了原生或者接近原生的后台管理机制,是因为相信每个应用都是善良的,所以,不到万不得已,不要欺负他们;

对于尚有尊严系,多为定制程度较高的第三方 ROM,杀死后台也多处于其定制的功耗管理机制,尝试过很多灵性方法,很难做到一招鲜吃遍天,但这些 ROM 都留下了功耗管理白名单,他们需要保证自己系统地流畅运行,同时他们也考虑到了有些应用有他们不得不说的苦(交)衷(易),所以尊重 ROM 厂商的限制,不要作妖,有需求,打开白名单,你好,我好,大家好。

最后是宁死不屈系,这也是遇到的最大的难题,前面有提到我的应用不仅需要常驻后台,更需要在后台接收设备发出的蓝牙数据,也就是说我需要在后台搞事情。

5.围攻光明顶

以下的故事发生于我按照华为的显示开启了功耗管理白名单、后台清理白名单、忽略电量优化白名单。 于是号称是 18 个月不卡顿的华为出现了,也成功制裁了我: 首先是蓝牙广播模式,当你息屏五分钟之后,由后台发起的蓝牙扫描就被休眠了,GG; 然后是连接模式,息屏后运行一小时,凉凉; 定位和请求网络,也是被限制的不要不要; 服务重生+前台服务+双进程守护,六神装+复活甲在手,依旧被华为按在地上摩擦。 直到最后,武林中流传着这样一套拳谱,伤敌一千自损八百,名曰七伤拳:无声音乐保活大法; 也就是在服务中循环播放一段无声的音乐,cosplay 正在播放的音乐播放器。 没错,确实在华为 18 个月不卡顿的后台管理下活了下来,但代价是飙升的功耗,以及多任务菜单提示的音乐播放 icon。 但对于我这种特殊的应用来说,能够常驻后台,持续监测和记录,才是最重要的。

6.再续前缘

At last,还是想聊一下各个 rom 做出的后台限制。 对于开发者来说,最欢迎的当然是原生这种随意蹂躏系,但是汝之蜜糖,彼之砒霜,这种策略如果在流氓肆虐的国内市场,估计早被啃得渣都不剩了。 所以我个人觉得在国内市场环境下,尚有尊严系的做法挺好的,有需求就手动开启,各取所需,一切由用户决定; 至于宁死不屈的华为,为了达到 18 个月不卡顿的效果,做出这种惨绝人寰的后台三光策略,有点不近人情,有点过分。

希望国内的应用市场流氓越来越少,Android 手机越来越好用。

7.关于监听推送通知拉活的办法

消息推送(华为):https://blog.csdn.net/qingjiao233/article/details/79914893 Android 端外推送到底有多烦:https://mp.weixin.qq.com/s?__biz=MzA4NTg1MjM0Mg==&mid=2657261350&idx=1&sn=6cea730ef5a144ac243f07019fb43076%23rd

我想到市面上的推送(排名不分先后): 小米推送(MiPush) 华为推送(华为 Push) 友盟推送(U-Push) 个推 极光推送 阿里云移动推送(Alibaba Cloud Channel Service) 腾讯信鸽推送 百度云推送

如果每一个都接入,是不是要疯#24

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 中,Activity 是一种表示用户界面的组件。它们通常是应用程序的主要界面,并在用户与应用程序交互时显示。当 Activity 不再处于用户视线范围内时,系统可能会将其销毁以释放资源。如果您需要一个 Activity 可以继续运行,即使它没有用户焦点,您可以使用以下方法之一来实现后台保活。 1. 使用 Service:在 Android 中,Service 是一种可以在后台保持运行的组件。您可以将 Activity 与 Service 结合使用,使 Activity 在后台保持活动状态。为此,您需要启动一个 Service 并在 Activity 中绑定到该 Service。 2. 使用 Foreground Service:Foreground Service 是一种特殊类型的 Service,它允许您将服务置于前台,并在状态栏中显示通知。这使得系统更难以杀死服务,因为用户可以看到通知并知道服务正在运行。 3. 使用 JobScheduler:JobScheduler 是一个系统服务,它允许您安排后台任务以在特定条件下运行。您可以使用 JobScheduler 来安排定期运行的任务,以确保您的应用程序保持活动状态。 4. 使用 AlarmManager:AlarmManager 是一种系统服务,它允许您在指定的时间间隔内安排定期操作。您可以使用 AlarmManager 来启动您的 Activity,并在一定时间后重新启动它。 请注意,为了确保您的应用程序保持活动状态,您需要避免使用过多的 CPU 和内存资源。您应该尽可能地优化您的代码,并尝试使用低功耗模式来减少电池消耗。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值