android9.0系统下,如何保活

android9.0系统下,讨论如何延长APP退到后台的保活/复活时间

一、7.0及以上不存在真正意义的保活。

二、盘点目前在9.0上,可能有效的“白色手段”保活手段(这里不讨论黑色和灰色手段)。

1.仿TIM引导用户打开“后台自启动”和加入“手机白名单”

测试开始后台自启动,测试通知栏多久还能收到通知

华为M10 9.0

时长3到5小时没被杀死

VIVO x23 9.0(数字以分钟计算)

1 Y收到

2 Y

3 Y

6 Y

8 通知栏已无通知(app被系统杀死)

10 N收不到

抛出问题:使用H5界面引导用户打开后台自启动,用户如果会同意吗?

2.开启前台服务,会生成多余的通知,被产品否定

3.优化应用内存,正在进行中...

4.仿网易云音乐,复写锁屏界面

5.集成华为/小米/oppo/vivo/魅族手机系统级推送

6.集成“信鸽/个推/极光/友盟等”第三方推送,以期达到关联启动。

三、盘点已经失效或者不适合的保活黑科技,这里的“不适合”是因为我们做政府项目,后台是布在内网上的。

1.双进程守护方案,华为6.0就失效

2.监听锁屏/亮屏/解锁广播,打开1像素Activity,华为6.0就失效,因广播被取消了

3.故意在后台播放无声的音乐,华为M10手机9.0失效

4.使用JobScheduler唤醒Service,7.0以上失效

5.集成华为/小米/oppo/vivo/魅族等push,因为项目本地化部署,不适合

6.推送互相唤醒复活:极光、友盟、以及各大厂商的推送,因为项目本地化部署,不适合

7.同派系APP广播互相唤醒:比如今日头条系、阿里系,因为项目本地化部署,不适合

8.使用自定义锁屏界面:覆盖了系统锁屏界面。网易云音乐就是如此,但是会生成一个常驻通知栏的通知

9.把APP设置为系统应用,不适合,因为需要权限等

10.native进程(已报废)

11.利用账号同步机制拉活,失效了

12. 提高Service优先级,比如onStartCommand返回START_STICKY,没什么效果

四、总结

问:为什么需要保活

答:作为IM聊天软件,希望能即时收到好友消息。

问:为什么保活失败?

答:因为点击home键使app长时间停留在后台,内存不足被kill;

进入锁屏状态一段时间,省电机制会kill后台进程。

你可能感兴趣的:(android)