如何避免在生命周期中类被卸载

时间:2011-11-05 09:02:08

标签: android class

我想将一个类及其类变量用作全局使用变量的全局“缓存”。

我需要确保它在应用程序生命周期中永远不会被卸载并丢失其值。

如何确保课程永远不会被卸载?

这是声明类的方式:

public class GlobalVars {
    public static Integer gi1;
    public static WebiDBAdapter gDBAdapter;
    }

非常感谢!

2 个答案:

答案 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();