当前位置: 首页 > 知识库问答 >
问题:

恢复应用程序后,Singleton对象变为null

徐弘图
2023-03-14
class Cache {
    var categories : Array<BaseResponse.Category>? = null
    var user : BaseResponse.User? = null
    var options : BaseResponse.OptionsMap? = null
    var order: MenuOrderDataModel? = null
}
@Module class StorageModule {

    @Singleton @Provides fun getSharedPrefs(context: Context): SharedPreferences {
        return PreferenceManager.getDefaultSharedPreferences(context)
    }


    @Singleton @Provides fun getCache() : Cache = Cache()
}
class MyApp : Application() {
    val component: ApplicationComponent by lazy {
        DaggerApplicationComponent
                .builder()
                .appModule(AppModule(this))
                .build()
    }

    companion object {
        @JvmStatic lateinit var myapp: MyApp 
    }

    override fun onCreate() {
        super.onCreate()
        myapp= this
        Fabric.with(this, Crashlytics())
    }
}

飞溅活动:

class SplashActivity : AppCompatActivity(), View.OnClickListener {

    @Inject lateinit var viewModel : ISplashViewModel
    private lateinit var disposable : Disposable

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_splash)

        MyApp.myapp.component.inject(this)
}

共有1个答案

督嘉言
2023-03-14
    null
$ adb shell am kill your.app.package.name
 类似资料:
  • 目前正在nodeJS中开发一个后端,它使用、,并将MongoDB作为其数据库。我读到实现单例DB连接是一个很好的实践,它将在整个应用程序中重用。我试图实现这个还没有找到解决方案。我试图使用go-oleg的这个SO答案。 我复制了第一部分,外部mongoUtil.js文件如下: 然后在我的server.js我像这样调用这个函数一次(我不做任何回调,这是必需的吗?)。 然后,当我在应用程序的另一个模块

  • 我想让应用程序恢复音乐当我们回到应用程序时,我尝试过使用方法,但服务中没有方法。TIA

  • 程序和人一样都需要具备一定的容错能力,学会知错就改,所以如果不是不可恢复性、导致系统无法正常工作的错误,如果发生了 panic 我们需要恢复程序,让程序继续执行,并且需要记录到底犯了什么错误 在 Go 语言中我们可以通过 defer 和 recover 来实现 panic 异常的捕获,让程序继续执行 package main import "fmt" func div(a, b int) (r

  • 正如SonarSource所说: 捕获Throwable或Error也将捕获OutOfMemoryError和InternalError,应用程序不应试图从中恢复。 现在,如果在一个事务中,我不应该尝试回滚它吗?或者我会在数据库中造成更糟糕的状态吗?是否在创建OutOfMemoryError时释放了资源,以便我可以再次使用内存?

  • 希望有人能帮我找出,如果不是一个解决方案,至少是一个行为的解释。 问题: 在一些设备上,按下启动器图标会导致当前任务恢复,在其他设备上,会导致初始启动意图被激发(有效地重新启动应用程序)。为什么会这样? 细节: 当您按下“启动程序图标”时,应用程序会正常启动-也就是说,我假设,使用您的第一个和操作和类别。然而,情况并非总是如此: 在大多数设备上,如果您在应用程序已经运行后按下启动器图标,则会恢复该

  • 我正在用Kotlin开发一个简单的游戏,使用LibGDX在后台播放音乐。在Android上,当用户玩游戏并按下HOME键,然后再次继续游戏时,我的暂停屏幕出现了——音乐继续播放。我想要的是,每当我的暂停屏幕显示时,音乐总是关闭。 当我开始一个新游戏时,每当我按下游戏中的“暂停”按钮,音乐就会按预期停止——然后当我点击游戏中的“继续”按钮时,音乐就会重新开始。这工作得很好。只有在按下HOME键时,我