【发布时间】:2016-02-26 09:52:05
【问题描述】:
一开始的快速说明以避免错误的重复:这里有很多关于静态变量何时被清除以及它们存在多长时间的问题。这不是我在这里要问的。
如果我在 PC 上的程序中有一个静态变量,并且我启动了该程序的两个不同副本,那么每个副本通常将在其自己的沙箱中运行,并为其静态变量具有自己的私有值。因此,它们不是系统范围的全局(不确定这是否是一个好的术语)。
在 Android 中是否存在我可以拥有多个静态变量的“实例”(松散使用的词)的情况?我认为不可能让 Activity 的多个副本在不同的沙箱中并行运行(尽管我不确定),但是 ConentProviders、IntentServices 或任何其他 Android 可能从潜在的其他类中随机实例化的类怎么样?进程?
或者,换一种说法,如果我有一个带有静态变量的类,我是否保证同一设备上同时存在的每个类实例都可以访问完全相同的静态变量值?
【问题讨论】:
-
也许你可以在这种情况下使用 SharedPreference,但不确定
-
@Virthuss SharedPreferences 可能会起作用(如果使用正确),但如果我理解正确,所有对 SharedPreferences 的写入都会直接(?)到磁盘。鉴于大多数 Android 设备使用闪存作为写入周期有限的永久存储,我想尽可能避免使用磁盘(更不用说它很慢......)。
标签: android global sandbox static-variables