欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

[经典Bug]Android-初始化闪屏不消失

程序员文章站 2022-05-18 09:04:25
问题描述: 业务上初始化过程要求显示闪屏界面,某个版本更新后,发现部分场景下,初始化完成后闪屏界面不消失。 问题原因: 初始化是在子线程进行,闪屏属于UI界面,需要UI线程展示。初始化过程和闪屏显示在不同线程,UI线程忙碌的时候,会出现业务的初始化已经执行完成,闪屏界面才真正显示。 解决措施: 方案 ......

问题描述:
业务上初始化过程要求显示闪屏界面,某个版本更新后,发现部分场景下,初始化完成后闪屏界面不消失。

问题原因:
初始化是在子线程进行,闪屏属于UI界面,需要UI线程展示。初始化过程和闪屏显示在不同线程,UI线程忙碌的时候,会出现业务的初始化已经执行完成,闪屏界面才真正显示。

解决措施:
方案一:将闪屏展示改为初始化过程的一个同步环节,阻塞当前线程直到闪屏展示才继续执行。——有损失

方案二:闪屏展示保持异步,但是需要在闪屏界面展示时机增加判断,若初始化已经完成,则直接关闭界面。