0
点赞
收藏
分享

微信扫一扫

Android 后台保活,这里有你需要的所有姿势。2019,flutterlistview滚动卡顿

荷一居茶生活 2022-01-31 阅读 19

老规矩,先上项目地址: 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.再续前缘

如果你进阶的路上缺乏方向,可以加入我们的圈子和安卓开发者们一起学习交流!

  • Android进阶学习全套手册

    img

  • Android对标阿里P7学习视频

    img

  • BATJ大厂Android高频面试题

    img

最后,借用我最喜欢的乔布斯语录,作为本文的结尾:

布斯语录,作为本文的结尾:

举报

相关推荐

0 条评论