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后台进程。

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
Android 9.0引入了一种新的应用保活机制,即app进程保活白名单。这个白名单允许应用在后台保持运行状态,以便能够实时接收并处理重要的任务或事件。通过将应用添加到白名单中,可以确保应用不会过早地被系统终止,从而提高了应用的用户体验和功能性。 要将应用添加到Android 9.0的app进程保活白名单中,需要进行以下步骤: 1. 获取系统唤醒锁:应用需要获取系统唤醒锁以防止系统在特定时间内休眠。可以使用PowerManager类的newWakeLock方法来获取唤醒锁,并在不需要时及时释放锁。 2. 启用前台服务:可以将应用设置为前台服务状态,以使其在后台运行时以高优先级运行,并在通知栏中显示一个持续可见的通知。这样,即使应用在后台运行,用户仍然可以清楚地知道应用正在运行。 3. 注册广播接收器:可以注册一些系统广播的接收器,以确保应用在系统事件发生时得到通知并可以及时做出响应。比如注册ACTION_SCREEN_ON广播接收器,以在设备解锁时触发相应的操作。 4. 利用JobScheduler:JobScheduler是Android系统提供的一个调度框架,可以用于安排长期运行的任务,以便应用可以在后台执行这些任务。可以使用JobScheduler来进行任务的调度和管理,以减少应用在后台被系统终止的风险。 需要注意的是,虽然添加到app进程保活白名单可以保持应用在后台的运行状态,但为了避免对系统资源的滥用,应避免长时间运行或频繁使用这些保活方法。合理使用这些保活机制,可以提升应用的性能和用户体验,但也要确保不会对设备的电池寿命和性能造成过多的损失。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值