如何正确使用HashSet Android
How to use HashSet properly Android
我在我的应用程序中使用哈希集,我试图看看如何避免内存泄漏,我使用如下所示,通过在Activity结果中填写它,然后当用户点击 button 我只是处理里面的内容然后完成 activity。
据我所知,内存泄漏在这里是不可能的,因为 hashSet 不是静态的,所以一旦 Activity 完成,没有任何东西会指向 HashSet,并且当 GC 时它将是空闲的开始,这个假设是否正确?
public class TestActivity extends Activity {
HashSet<String> hashSet = new HashSet<String>();
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//process what's in the hashset
//do I need to do something like hashSet.clear()
//or something else like setting the hashSet to null?
//then exit
finish();
}
});
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == SOME_RETURN_CODE) {
hashSet.add(some string);
}
}
}
is this assumption correct?
是的,您的假设是正确的。 activity 中不应该有任何内存泄漏,因为它不包含任何无法处理或垃圾收集的引用
我在我的应用程序中使用哈希集,我试图看看如何避免内存泄漏,我使用如下所示,通过在Activity结果中填写它,然后当用户点击 button 我只是处理里面的内容然后完成 activity。
据我所知,内存泄漏在这里是不可能的,因为 hashSet 不是静态的,所以一旦 Activity 完成,没有任何东西会指向 HashSet,并且当 GC 时它将是空闲的开始,这个假设是否正确?
public class TestActivity extends Activity {
HashSet<String> hashSet = new HashSet<String>();
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//process what's in the hashset
//do I need to do something like hashSet.clear()
//or something else like setting the hashSet to null?
//then exit
finish();
}
});
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == SOME_RETURN_CODE) {
hashSet.add(some string);
}
}
}
is this assumption correct?
是的,您的假设是正确的。 activity 中不应该有任何内存泄漏,因为它不包含任何无法处理或垃圾收集的引用