下面是OPPO手机各种方案的测试记录, 也包括无效的方案
1. OPPO的电源设置和应用省电设置
OPPO手机电源设置里面不限制性能, 优化全部关闭, "自动优化"修改成不优化
第四张图应用省电设置里面的开关也全部打开
图片不能在本地保存, 保存在文件<OPPO手机电池设置和应用省电设置> 内
2.使用无障碍服务定时在前台跑一会, 比如每20分钟亮屏展示应用20秒
在修改过<OPPO电源设置和应用省电设置>后, 小范围测试有效, 没有遇到过因为低内存杀死问题, 也有可能是手机性能足够(8G内存)导致的没有被杀死.
3.使用应用锁
单独使用应用锁能保活5分钟, 测试两次都是5分钟后被杀死.如果配合使用<OPPO电源设置和应用省电设置>, 则可以长期保活, 目前最长保活超过3小时40分钟, 并且还在正常保活中,
4.Push应用解决CPU休眠
专门写一个Push应用用来接收系统推送
并在系统设置中设置收到推送后亮屏
在本应用中通过接收Intent.ACTION_SCREEN_ON广播唤醒App
5.Android API尝试解决CPU休眠问题
WorkerManager定时通知
Intent.ACTION_TIME_TICK每分钟广播
AlarmManager定时闹钟
OPPO手机上无法定时成功, 定时过程中总是伴随CPU休眠, 从而导致实际的定时回调时间大于程序中设定的时间
6.通过推送的透传消息保活
透传消息是在App已经启动的情况下可以直接通过系统推送推送给App的消息, 如果App没有启动, 设置App具有"自启动权限"后, 可以在收到透传消息后启动App, 并在App的Activity没有启动的情况下处理消息.
小米手机有推送透传消息, 但是OPPO手机没有透传消息
7.使用QQ的包名
在小米手机上有效, 在OPPO手机上无效
8.使用微信的包名
因为实际情况不允许这种方案, 没有在OPPO手机上试过, 理论上比QQ包名要效果更好