Android 开机启动延迟问题

Android 开机启动延迟问题_第1张图片
Android 开机自启动被拦截问题

       兄弟们,我又来了,上一篇刚刚总结完Android 开机自启动实战问题,今天就来聊聊开机启动延迟缓慢的问题。
这里我也百度了一些文章,大概的参考了一下,并把其中缘由都基本了解,并且也进行了实战演练。
我们开机自启无非就是通过监听 开机广播(android.intent.action.BOOT_COMPLETED)来实现开机自启动,这里关于开机自启就不做概述,想了解的可以去参考我上一篇的文章。其实开机延迟几秒或者20秒等,问题并不是出在我们发送广播的时候,而是在接收广播的问题上

查阅官方文档:文档中概述说是广播的优先级比较低,android:priority的默认值为0 取值范围围-1000到1000,然后参阅别人反编译360手机助手,android:priority设置的是2147483647
然后个人通过不同机型的手机,调整优先级,在调试过程中,不得不感慨不同版本的手机,以及不同机型产生的结果差异大不相同,下面是不同机型的开机自启时间对比,大家可以参考一下:

方式一:

        <receiver
            android:name=".receiver.AutoStartBroadReceiver"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />

                <category android:name="android.intent.category.HOME" />
            </intent-filter>
        </receiver>

红米手机 Redmi 6A 安卓version 9                             34s
华为手机 DUA-AL00 安卓version 8.1.0                     38s
华为手机 Honor 9i 安卓version 9.1.0                        51s
VIVO手机 vivo iQOO 安卓version 11                        31s

方式二:

        <receiver
            android:name=".receiver.AutoStartBroadReceiver"
            android:exported="true">
            <intent-filter android:priority="2147483647">
                <action android:name="android.intent.action.BOOT_COMPLETED" />

                <category android:name="android.intent.category.HOME" />
            </intent-filter>
        </receiver>

红米手机 Redmi 6A 安卓version 9                             18s
华为手机 DUA-AL00 安卓version 8.1.0                     19s
华为手机 Honor 9i 安卓version 9.1.0                        34s
VIVO手机 vivo iQOO 安卓version 11                        16s

方式三:

        <receiver
            android:name=".receiver.AutoStartBroadReceiver"
            android:exported="true">
            <intent-filter android:priority="1000">
                <action android:name="android.intent.action.BOOT_COMPLETED" />

                <category android:name="android.intent.category.HOME" />
            </intent-filter>
        </receiver>

红米手机 Redmi 6A 安卓version 9                             22s
华为手机 DUA-AL00 安卓version 8.1.0                     17s
华为手机 Honor 9i 安卓version 9.1.0                        32s
VIVO手机 vivo iQOO 安卓version 11                        17s

到这里大家基本上也就清楚了,自己适合哪一种方式,解决开机自启的延时问题,虽然不能直接实现我们想要的结果,但是从根本问题上提前了几秒,快了那么几秒。

总结

我在参阅文章的同时,找到一篇通过监听开机铃声,然后实现开机自启的方法,但是需要fw的帮忙,这个就看大家的意愿了,这个目前没有做实质性的实战,大家可以去参阅一下大佬的文章《android 开机广播接收慢处理方式》。另外一种处理方式也是要fw的帮忙,在上一篇文章中我总结了,大家自己去参阅就行了,不做详细介绍。

如若大家还有更好的解决办法,欢迎留言探讨,我们共同进步!

Android 开机启动延迟问题_第2张图片

你可能感兴趣的:(intent,Android,机型,android,java)