我有一个应用程序需要一直访问许多不同类的上下文,用于保存和序列化数据,显示对话框等。
根据Android开发者网站上的一篇文章,这会导致内存泄漏: http://developer.android.com/resources/articles/avoiding-memory-leaks.html
访问上下文的一般方法是什么?应该创建一个singelton类,一旦应用程序启动就会持有一个对上下文的引用或者什么是最好的方法?
现在我的方法看起来像这样
public void saveData(TheCassName classObject, Context context){
//do some stuff that involves context
}
从我需要的地方打电话。
谢谢!
答案 0 :(得分:2)
尝试使用应用程序上下文而不是活动上下文。但是,您应该注意的应用上下文存在限制:When to call activity context OR application context?
答案 1 :(得分:1)
只是为了清除:没有内存泄漏因为保存的上下文是应用程序的一部分,这个过程只会在应用程序关闭时被杀死。
在您的应用中扩展应用程序,然后使用应用程序上下文 在那里制作静态变量。
<manifest>
<application android:name="com.abc.MyApp">
</application>
</manifest>
}
您还需要在清单中定义应用程序。
{{1}}