如何正确使用HashSet Android

时间:2015-04-22 01:56:54

标签: android memory-leaks

我在我的应用程序中使用hashset,我试图看看如何避免泄漏内存,我使用如下所示在onActivityResult中填写,然后当用户点击按钮我只是处理那里的内容然后完成活动。

据我所知,内存泄漏在这里是不可能的,因为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);
        }   
    }
}

1 个答案:

答案 0 :(得分:0)

is this assumption correct?

是的,你的假设是正确的。该活动不应该有任何内存泄漏,因为它不包含任何无法处理或垃圾收集的引用