Android保活从入门到放弃:乖乖引导用户加白名单吧

1、引言IM在Android上的保活问题经常在即时通讯网的论坛和技术群里被讨论,自从Android 8.0后系统大大降低了后台运行应用的保活容忍度(详见《Android P正式版即将到来:后台应用保活、消息推送的真正噩梦》),保活从黑科技横行的时代进入了技术蛮荒阶段,真要实现保活,技术难度越来越大 。

Android保活从入门到放弃:乖乖引导用户加白名单吧

文章插图
 
不过话说回来,既然用黑科技进行保活是Andriod技术的逆潮流,那何不回头是岸,做个“良民”?
本文将以某款线上的IM产品为例,介绍它是如何引导用户在多款主流机型上加白名单的,并分享了该款IM中已制作完成的多达7款主流Andriod机型的详细加白FAQ页面资源(含完整html+图片),方便您进行参考、学习和研究,希望能为你的应用开发带来帮助 。
特别申明:本文示例中的资源来自某款真实的IM产品,仅供学习和研究,请勿用作非法用途,如有侵权,请告之于我 。
学习交流:
- 即时通讯/推送技术开发交流5群:215477170[推荐]
- 移动端IM开发入门文章:《新手入门一篇就够:从零开发移动端IM》
本文已同步发布于“即时通讯技术圈”公众号,链接是:
https://mp.weixin.qq.com/s/JqWloZLBYicpxElVL_HKYw
2、Android保活,变的越来越不可能了IM产品在Android上的保活问题从早期的系统版本到现在,从未有人停止过尝试 。即时通讯通讯网也随着Andriod系统版本的升级,持续整理了很多篇相关文章,比如下面这些(文章的顺序按照Android系统的版本从低到高) 。
《应用保活终极总结(一):Android6.0以下的双进程守护保活实践》
《应用保活终极总结(二):Android6.0及以上的保活实践(进程防杀篇)》
《应用保活终极总结(三):Android6.0及以上的保活实践(被杀复活篇)》
《Android进程保活详解:一篇文章解决你的所有疑问》
《Android P正式版即将到来:后台应用保活、消息推送的真正噩梦》
《全面盘点当前Android后台保活方案的真实运行效果(截止2019年前)》
上面这些文章,我们可以看到,自从Android 8.0(即Andriod P)以后,IM以及其它需要在后台保活的产品,存活难度越来越高,黑科技几乎都不起作用了 。
于是,一些技术从牛们只能从更深的Android系统层面尝试突破系统的保活限制,比如这两篇:《史上最强Android保活思路:深入剖析腾讯TIM的进程永生技术》、《Android进程永生技术终极揭密:进程被杀底层原理、App应对被杀技巧》 。
正如上面两篇文章,为了跟系统作斗争,可谓斗智斗勇 。但Android系统的历史进程终究无人能阻挡,越来越严格的保活限制已经是Android官方及各大手机厂商的共识 。
好吧,之前费尽心机折腾的各种黑科技,如今就像浮云一样 。。。
Android保活从入门到放弃:乖乖引导用户加白名单吧

文章插图
 
3、死磕保活?别做梦了,回头是岸正如上节所述,鉴于Andriod保活变的越来越不可能,很多原本靠黑科技保活的产品,开始重新审视保活技术实现,到底是把保活黑科技这条路走到黑,还是回归Android官方最佳实践(乖乖引导用户手动设置白名单)?
我个人认为,后者是保活技术发展的必然结果,就像之前分享的这篇文章里所做的尝试一样:《2020年了,Android后台保活还有戏吗?看我如何优雅的实现!》,规范地引导用户“加白” 。
放弃“黑科技”,并不意味着技术不行,回归“良民”,反而变的一身轻松 。
Android保活从入门到放弃:乖乖引导用户加白名单吧

文章插图
 
4、调用系统代码引导用户加白名单,也不完美之前整理的《2020年了,Android后台保活还有戏吗?看我如何优雅的实现!》一文,是按照不同的机型,自动适配代码并在代码中调用系统的加白名单设置功能 。
比如像下面这样的代码调用:
Android保活从入门到放弃:乖乖引导用户加白名单吧

文章插图
 
(▲ 以下代码引用自《2020年了,Android后台保活还有戏吗?看我如何优雅的实现!》)
会弹出这样一个窗口:
Android保活从入门到放弃:乖乖引导用户加白名单吧

文章插图
 
这个方法确实不错,但因为机型不同、同机型的ROOM版本不同,代码的兼容处理,可能会相当复杂,所以方法虽好,但也并不能一劳永逸的解决所有问题 。


推荐阅读