我的代码实际上是这样的:
setTheme()
setContentView()
view.setxyz(verytimeintensivefunction())
我希望在执行setTheme()之前执行时间密集型函数,以便在执行期间显示闪屏。所以我做了这个:
var x = verytimeintensivefunction()
setTheme()
setContentView()
view.setxyz(x)
然后,我对应用程序进行了调试,并在setContentView()上设置了断点,以便在任务执行完毕时签入分析器。并且在setContentView()之后执行。因此,我认为在构建过程中,代码将会得到简化。那么,当闪屏显示时,我如何执行该函数呢?
发布于 2020-10-15 11:41:17
使用协程并尝试一次。
GlobalScope.launh(Dispathers.Main){
var x = verytimeintensivefunction()
setTheme()
setContentView()
view.setxyz(x)
}
这基本上是在主线程中按顺序执行代码。另外,如果它不工作,请详细解释。
https://stackoverflow.com/questions/64370677
复制相似问题