gpt4 book ai didi

android - 将数据存储在 kotlin 对象中是否安全?

转载 作者:行者123 更新时间:2023-12-05 00:00:03 26 4
gpt4 key购买 nike

我有一个关于 kotlin 中的对象的问题,到目前为止我找不到令人满意的答案。它基本上是以下场景:我有一些用户数据,我想在整个应用程序中提供这些数据,而不必通过 Activity 传递它。

为此,我创建了一个具有两个属性的对象,这些属性在启动 Activity 中用用户数据实例化。这是存储用户数据并使用户数据可用于所有 Activity 的安全方式,还是会在途中丢失?

例子:

object CurrentUserManager {
lateinit var userId: String,
lateinit var userName: String
}

LoginActivity {
...
onCreate(...){
val user = ApiCall.Login();
CurrentUserManager.userId = user.id
CurrentUserManager.userName = user.name
}
}

MainActivity {
...
onCreate(...){
Toast.makeText(this, "Hello ${CurrentUserManager.userName} with ID: ${CurrentUserManager.userId}", Toast.LENGTH_SHORT).show()
}
}

这是不安全/不好的做法吗?如果是,为什么以及我应该使用哪种模式来实现预期结果?

谢谢,狮子狐

最佳答案

简短回答:只要您的 Android 进程没有结束,它就是安全的。

长答案:这归结为关于 Java 中单例和静态变量生命周期的讨论。这个问题已经有了一些答案,所以我不会在这里重复这些:

关于android - 将数据存储在 kotlin 对象中是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56038489/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com