Android 开机启动延迟问题

本文探讨了Android开机自启动的延迟问题,焦点在于理解广播优先级对启动速度的影响,并提供了不同机型和优先级设置下的实验结果。作者介绍了通过调整广播优先级、监听开机铃声和依赖fw的方法来解决延迟,鼓励读者分享更多解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
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的帮忙,在上一篇文章中我总结了,大家自己去参阅就行了,不做详细介绍。

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

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拉莫帅

你的鼓励将是我的创作动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值