如何防止android杀死整个应用程序

时间:2019-11-10 08:58:55

标签: android kotlin

我的应用包含3个活动:
-PreloaderActivity
-SelectorActivity(主屏幕)
-GameActivity

Preloader活动进行一些初始化工作,并填充单例AppData结构:

class AppData(val locale:String,                           //device locale
              val online: Boolean,                         // do we online?
              val onSDCard:Boolean,                        //do we on sdcard?
              val idfa:String?,                            //id for advertising
              val isTablet:Boolean,                        //tablet or phone
              var awardsTimestamp:Long=-1,                 //tasks.json last modification time
              var gdprStatus:ConsentStatus?=null,
              val inapData: InapManager.InapData?,         //google play inap data
              val version:Version                          //app version

) {
    companion object{
        lateinit var instance:AppData
            private set
        private var reseted=false
        val isInitialized:Boolean
            get()=(::instance.isInitialized && !reseted)
        fun dispose() {
            reseted=true
        }
    }
    init {
        //singleton instantiation
        if(!isInitialized) {
            reseted=false
            instance = this
        }
    }

初始化后,应用程序转到SelectorActivity,然后转到GameActivity。问题是当游戏屏幕上出现故障时,Android杀死了整个应用程序并试图恢复选择器活动。但是由于AppData单例现在尚未初始化,因此无法恢复。有没有办法使android不杀死选择器活动吗?

0 个答案:

没有答案