关于APP接收开机广播延迟问题,解决开机启动慢问题
16lz
2021-01-26
我们知道在Android中我们可以监听开机广播(android.intent.action.BOOT_COMPLETED)来实现开机自启动,当然能够实现开机自启动的前提条件是该应用至少已经被手动启动过一次,但是这样任然会出现一些问题,比如如果我们接收广播的优先级比较低那么我们开机之后APP启动就会比较靠后,但是既然设置为开机启动呢,那么我们肯定是希望自己的APP越早被启动越好的,基于这种情况我们可以调整接收广播的优先级,在官方文档中我们看到android:priority的默认值为0 取值范围围-1000到1000,priority的值与其等级是成正比的.但是在某些情况下我们发现即使将priority的等级设置为1000还是有些应用可以在我们之前启动,比如360手机助手,那么我们通过对360手机助手反编译查看其AndroidMainfest.xml文件来看发现360手机助手对其中一个监听开机广播的广播接受者的处理很有意思
如下所示为360手机助手的相关代码
在这段代码中我们可以看到他将priority的优先级设置为了2147483647,这显然是不符合官方文档的要求的在我们Android学习中我们知道当priority的值大于1000的时候会默认使用1000作为priority的值,但是2147483647确实实现了更早的将应用开启的效果.
更多相关文章
- Android(安卓)四大组件之Broadcast【一】
- Android(安卓)基于Aidl的跨进程间双向通信管理中心(类似于聊天室)
- 【Android(安卓)异常与性能优化】冷启动优化
- Android的广播Receiver动态注册和静态注册
- 如何跳过Nexus 7二代的开机设置
- android MultiDex multidex原理原理下遇见的N个深坑(二)
- 如何在首次启动时跳过Google安装向导
- android开发之Launcher icon(启动图标)的设计
- Android(安卓)智能机顶盒之蓝牙遥控器开机自动配对