[经典Bug]Android-初始化闪屏不消失
程序员文章站
2022-05-18 09:04:25
问题描述: 业务上初始化过程要求显示闪屏界面,某个版本更新后,发现部分场景下,初始化完成后闪屏界面不消失。 问题原因: 初始化是在子线程进行,闪屏属于UI界面,需要UI线程展示。初始化过程和闪屏显示在不同线程,UI线程忙碌的时候,会出现业务的初始化已经执行完成,闪屏界面才真正显示。 解决措施: 方案 ......
问题描述:
业务上初始化过程要求显示闪屏界面,某个版本更新后,发现部分场景下,初始化完成后闪屏界面不消失。
问题原因:
初始化是在子线程进行,闪屏属于UI界面,需要UI线程展示。初始化过程和闪屏显示在不同线程,UI线程忙碌的时候,会出现业务的初始化已经执行完成,闪屏界面才真正显示。
解决措施:
方案一:将闪屏展示改为初始化过程的一个同步环节,阻塞当前线程直到闪屏展示才继续执行。——有损失
方案二:闪屏展示保持异步,但是需要在闪屏界面展示时机增加判断,若初始化已经完成,则直接关闭界面。
上一篇: 课时76.兄弟选择器(掌握)
下一篇: 解析微软机器人占领世界的未来策略