如何在 Android 应用程序中存储 Context? 通常需要在 Activity 外部的常规类中使用它(例如数据库适配器)。
我尝试将上下文保存在静态字段中,但它会调用内存泄漏。
也许,如果我在常规类中扩展 Context 并在内部调用 getApplicationContext()
会更好?
最佳答案
这样做的好方法是在构造函数中传递 Context
。您可以在每个示例代码中看到,上下文被作为参数传递到自定义类中以供将来使用。
即在 fedorvlasov's LazyListAdapter (这是从网络延迟加载图像的非常好的做法),您可以看到构造函数如下所示:public LazyAdapter(Activity a, String[] data)
。
这样,每次您在 Activity 之外并需要使用它时,您已经将它存储为一个字段。
另一种方法(不推荐)是使用作为应用程序上下文的静态字段。
public static final Context = getApplicationContext();
你把它放在启动 Activity 中,你就可以在应用程序的整个生命周期中访问应用程序上下文。
关于java - 如何存储上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11380880/