gpt4 book ai didi

android - 变量被垃圾收集

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:32:49 26 4
gpt4 key购买 nike

我有一个正在运行的安卓应用程序。一段时间后,当用户通过运行其他东西退出应用程序并返回到我的应用程序时,应用程序中的静态变量似乎已被垃圾收集。

简而言之,我在应用程序启动时保留输入的用户名/密码并将它们保存在静态变量中,并使用它们与服务器通信。我要么需要找出它们在应用程序重新启动时被垃圾回收的时间(以便我将它们重定向到登录 View ),要么阻止此类被垃圾回收。想法?

最佳答案

实现第二个场景的一种方法是实现您自己的继承 Application 的类,并在您的 list 中指定它。您可以将静态变量放在该类中。 Android 将在启动您的进程时创建该类的一个实例,并且只要该进程也处于 Activity 状态,该实例就会一直存在。

因此,如果您在该类中有一个简单的 bool 值来指示是否已执行登录,那么您现在就有了一种可靠的方法来随时检查您是否应该将用户引导至登录 Activity ,或者尝试使用 in -内存用户名/密码。

此外,您可以使用标准 Android 持久性组件之一(共享首选项文件、SQLLite、AccountManager、OBB、凭据存储等)在进程重启时持久保存凭据。但是请注意,这样做会引发一系列全新的问题,围绕如何正确保护用户凭据的持久副本,以防止其他应用程序(尤其是在已获得 root 权限的手机上)对其进行未经授权的访问。

关于android - 变量被垃圾收集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6000275/

26 4 0
文章推荐: linux - 从 "at"作业的非交互式队列中获取作业编号
文章推荐: c++ - 将 unique_ptr 作为 unique_ptr 返回