我想将一个类及其类变量用作全局使用变量的全局“缓存”。
我需要确保它在应用程序生命周期中永远不会被卸载并丢失其值。
如何确保课程永远不会被卸载?
这是声明类的方式:
public class GlobalVars {
public static Integer gi1;
public static WebiDBAdapter gDBAdapter;
}
非常感谢!
答案 0 :(得分:0)
如果要存储可由任何客户端访问的全局对象,则应考虑使用Application State。例如,应用程序状态通常用于实现一个全局计数器,该计数器跟踪所有应用程序客户端执行操作的次数。
但是,如果您需要为每个客户端存储单独的全局状态,那么会话状态将是您的最佳选择。
答案 1 :(得分:0)
使用Application类
需要维护全局应用程序状态的基类。您可以通过在AndroidManifest.xml的标记中指定其名称来提供自己的实现,这将导致在创建应用程序/包的过程时为您实例化该类。
public class ApplicationGlobalVars extends Application
{
public Integer gi1;
public WebiDBAdapter gDBAdapter;
// put some setter and getters here.
public Integer getGi1()
{ return gi1; }
}
在您的活动中使用它:
ApplicationGlobalVars appState = ((ApplicationGlobalVars)this.getApplication());
appState.getGi1();