gpt4 book ai didi

android - 在android应用程序中使用静态类变量是否安全

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:38:20 24 4
gpt4 key购买 nike

我知道扩展 Application 类以提供全局存储的技术。但是在我的例子中,我正在为库函数编写一个类,所以不希望强制该类的用户走这条路。我需要一些静态类变量。我在 StackOverflow 中看到传递引用,这些引用可能不安全。然而,我已经尝试过使用同一个类的两个不同的应用程序,即使在多窗口模式下在 Galaxy S3 上并排运行两个应用程序时,静态类变量仍然是分开的。

那么,对 Android 内部结构有深入了解的人能否确认这是否安全。

如果不安全,我可以将变量包装在一个嵌套类中,并将它们添加到一个可序列化的静态 HashMap 中,使用应用程序包名称作为键。这将迫使他们安全。但是,如果这不是必需的,那么我宁愿不这样做。

最佳答案

I have seen passing references in StackOverflow that these might not be safe.

它们并不“安全”,因为您的进程会不时终止,从而清除您的静态数据成员(以及您的自定义 Application,就此而言)。因此,静态数据成员只适用于缓存而不是其他。

在那个范围内,它们是“安全的”。

您只需要确保这些数据要么存储在某个地方(例如文件),要么一旦进程终止并在稍后再次启动时可以重新生成。这与 Application 没有什么不同。

However I've tried two different applications using the same class, and even when running both applications side by side on a Galaxy S3 in multi-window mode, the static class variables remain separate.

正确。这些是单独的进程,具有您的类和对象的单独副本。

关于android - 在android应用程序中使用静态类变量是否安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16744677/

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