Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将启动屏幕设置为在数据库加载时持续多久?_Android_Android Studio_Kotlin_Android Room - Fatal编程技术网

Android 如何将启动屏幕设置为在数据库加载时持续多久?

Android 如何将启动屏幕设置为在数据库加载时持续多久?,android,android-studio,kotlin,android-room,Android,Android Studio,Kotlin,Android Room,我对安卓还是比较陌生的。我在体系结构组件上遵循了这一点,从服务器在数据库中存储了大约2k个对象 我使用一个层列表()实现了我的启动屏幕,这意味着只要main活动有一些处理要做,启动屏幕就会持续。因为DB是在后线程上加载的,所以它避免了这种情况 这导致我的应用程序启动时没有数据,启动时加载数据需要大约10秒,而所有数据几乎都冻结了。加载后,一切正常,但编舞给我的明显信息是: I/编舞:跳过了1208帧!应用程序可能在其主线程上做了太多工作。 因此,我的问题是,为了避免跳过所有这些帧并使我的应用程序

我对安卓还是比较陌生的。我在体系结构组件上遵循了这一点,从服务器在数据库中存储了大约2k个对象

我使用一个
层列表
()实现了我的启动屏幕,这意味着只要main活动有一些处理要做,启动屏幕就会持续。因为DB是在后线程上加载的,所以它避免了这种情况

这导致我的应用程序启动时没有数据,启动时加载数据需要大约10秒,而所有数据几乎都冻结了。加载后,一切正常,但编舞给我的明显信息是:
I/编舞:跳过了1208帧!应用程序可能在其主线程上做了太多工作。


因此,我的问题是,为了避免跳过所有这些帧并使我的应用程序不延迟,我如何实现我的
SplashActivity
(或
MainActivity
?),以便在加载所有数据之前,我的
MainActivity
不会启动???

异步加载数据库(我建议使用协同程序)然后在完成时启动活动

异步加载数据库(我建议使用协同程序),然后在完成时启动活动

您可以使用回调、事件总线或观察者,在数据库完成后启动新的意图。@BlackHatSamurai一句简单的话可以做到什么。解决了我的问题!非常感谢你!不客气。很高兴我能提供帮助。当数据库完成时,您可以使用回调、事件总线或观察者来启动新的意图。@BlackHatSamurai一句简单的句子能做什么。解决了我的问题!非常感谢你!不客气。很高兴我能帮忙。