【发布时间】:2020-03-13 04:37:59
【问题描述】:
我想打开一个包含图像的屏幕,当我的应用程序恢复时,我想显示该屏幕。但问题是,应用程序恢复时首先显示白屏。
如何去掉那个白屏,每次都像 WhatsApp 一样打开?
这是我的应用类
class App : Application() {
private var context: Context? = null
override fun onCreate() {
super.onCreate()
context = this
registerActivityLifecycleCallbacks(AppLifecycleTracker())
}
companion object {
@SuppressLint("StaticFieldLeak")
private val instance: App? = null
fun getContext(): App? {
return instance
}
}
还有AppLifecycleTracker 类
class AppLifecycleTracker : Application.ActivityLifecycleCallbacks {
override fun onActivityPaused(activity: Activity) {
println("AppLifecycleTracker onActivityPaused")
}
override fun onActivityDestroyed(activity: Activity) {
println("AppLifecycleTracker onActivityDestroyed")
}
override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {
println("AppLifecycleTracker onActivitySaveInstanceState")
}
override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {
println("AppLifecycleTracker onActivityCreated")
}
override fun onActivityResumed(activity: Activity) {
println("AppLifecycleTracker onActivityResumed ${activity}")
}
private var numStarted = 0
override fun onActivityStarted(activity: Activity?) {
if (numStarted == 0) {
println("AppLifecycleTracker Foreground")
if (App.sinltonPojo?.launchData == 1) {
activity?.startActivity(Intent(activity.application, GifViewActivity::class.java))
activity?.overridePendingTransition(R.anim.enter, R.anim.exit)
}
}
numStarted++
}
override fun onActivityStopped(activity: Activity?) {
numStarted--
if (numStarted == 0) {
// app went to background
}
}
}
【问题讨论】:
标签: android kotlin application-lifecycle