Android 14 Launcher3 开机闪黑屏?不用怕,手把手教你解。

    最近接了一个新 bug,说是开机的时候会闪一下黑屏才进入主页。乖乖,闪黑屏耶,一听就不简单,于是我各种学习,查找资料。发现,好像没什么用,只能自己层层debug了。
    于是发现,好家伙,是它,罪魁祸首是它


     就是在这里造成的黑屏,view的绘制被拦截了,于是我就把FALSE改成TRUE,你猜怎么着,嘿嘿,好了。
     本来以为事情就这么简单的解决了,但是后面发现adb reboot会概率性闪黑屏,测试也说还是会闪黑屏。没办法,还得再看看,再分析分析。
     于是又通过层层debug,发现

    inflate的时候会卡住,耗费很多时间,我估摸着这估计就是黑屏的原因,inflate的时候进行xml的解析,io操作,对机器的性能要求比较高,但凡配置不好的机器,那不是分分钟解析过久卡住黑屏吗。
    硬件不好,软件来解,于是我又学习查找资料,什么AsyncLayoutInflater啊,发现统统不行,搞进去不是编译报错就是运行报错。
    后面又是层层debug,最终发现了,卡在这里!


    没错,就是这个 search box,inflate的时间老久了,于是对它进行改造,

    直接就是 ViewStub 安排上,延迟加载,不要影响Launcher3的oncreate。那么到这里问题就解完了,adb reboot十次完全不闪黑屏,简直很nice。你学费了吗?

  • 12
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值