Android 如何将启动屏幕设置为在数据库加载时持续多久?
我对安卓还是比较陌生的。我在体系结构组件上遵循了这一点,从服务器在数据库中存储了大约2k个对象 我使用一个Android 如何将启动屏幕设置为在数据库加载时持续多久?,android,android-studio,kotlin,android-room,Android,Android Studio,Kotlin,Android Room,我对安卓还是比较陌生的。我在体系结构组件上遵循了这一点,从服务器在数据库中存储了大约2k个对象 我使用一个层列表()实现了我的启动屏幕,这意味着只要main活动有一些处理要做,启动屏幕就会持续。因为DB是在后线程上加载的,所以它避免了这种情况 这导致我的应用程序启动时没有数据,启动时加载数据需要大约10秒,而所有数据几乎都冻结了。加载后,一切正常,但编舞给我的明显信息是: I/编舞:跳过了1208帧!应用程序可能在其主线程上做了太多工作。 因此,我的问题是,为了避免跳过所有这些帧并使我的应用程序
层列表()实现了我的启动屏幕,这意味着只要main活动有一些处理要做,启动屏幕就会持续。因为DB是在后线程上加载的,所以它避免了这种情况
这导致我的应用程序启动时没有数据,启动时加载数据需要大约10秒,而所有数据几乎都冻结了。加载后,一切正常,但编舞给我的明显信息是:
I/编舞:跳过了1208帧!应用程序可能在其主线程上做了太多工作。
因此,我的问题是,为了避免跳过所有这些帧并使我的应用程序不延迟,我如何实现我的SplashActivity
(或MainActivity
?),以便在加载所有数据之前,我的MainActivity
不会启动???异步加载数据库(我建议使用协同程序)然后在完成时启动活动异步加载数据库(我建议使用协同程序),然后在完成时启动活动您可以使用回调、事件总线或观察者,在数据库完成后启动新的意图。@BlackHatSamurai一句简单的话可以做到什么。解决了我的问题!非常感谢你!不客气。很高兴我能提供帮助。当数据库完成时,您可以使用回调、事件总线或观察者来启动新的意图。@BlackHatSamurai一句简单的句子能做什么。解决了我的问题!非常感谢你!不客气。很高兴我能帮忙。