我很好奇 Java 环境中的软引用和弱引用。我还阅读了一些关于这两个主题的内容。总结一下,弱引用顾名思义就是对对象的弱引用。这意味着对这个对象的引用很容易被GC
. 弱引用是这样创建的:
WeakReference<SomeOtherRef> weakReference = new WeakReference(someOtherRef);
另一方面,软引用将比弱引用保留更长的时间。所以我的问题是:
在我的应用程序中,我有一个用于ListView
此类的自定义适配器,它将处理所有基本ListView
内容,如处理点击等。当用户单击列表中的项目时,将启动 AsyncTask。
convertView.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
LoadCase loadCase = new LoadCase(position, holder);
loadCase.execute("");
}
});
目前我没有显示任何进度对话框,原因之一。context
对象。我的问题是,Activity
它将初始化 CustomAdapter 包含许多对象,并且我必须传递对 的引用Activity Context
才能显示 a ProgressDialog
,这会导致内存泄漏,是的,我已经尝试过了。应用弱/软参考来处理这个问题是否安全?AWeakReference
在某些时候可能是 null..NullPointerException
当我尝试初始化我的ProgressDialog
.