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

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

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

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

05-08 15:49