在Android中获取Java.io.closeable错误

时间:2016-05-11 06:31:25

标签: java android

我收到以下错误。在运行我的程序时。我无法理解这个问题。 资源是在附加的堆栈跟踪中获取的,但从未发布过。有关避免资源泄漏的信息,请参阅java.io.Closeable。

代码

ArrayList<String> selection = new ArrayList<>();
TextView finaltext = null;
    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
        finaltext = (TextView)findViewById(R.id.final_result);
        finaltext.setEnabled(false);
}
public void selectItem(View view)
{
    boolean checked = ((CheckBox) view).isChecked();
    switch (view.getId())
    {
        case R.id.fruit_apple:if (checked){selection.add("Apple");}else {selection.remove("Apple");}
        break;
        case R.id.fruit_orange:if (checked){selection.add("Orange");}else {selection.remove("Orange");}
        break;
        case R.id.fruit_grape:if (checked){selection.add("Grapes");}else {selection.remove("Grapes");}
        break;
    }
}

XML     

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/title_message"
    android:textAppearance="?android:textAppearanceLarge"
    android:layout_gravity="center_horizontal"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/fruit_apple"
android:text="@string/apple"
android:onClick="selectItem"/>
<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/fruit_orange"
    android:text="@string/orange"
    android:onClick="selectItem"
    />
<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/fruit_grape"
    android:text="@string/grapes"
    android:onClick="selectItem"/>
<Button
    android:layout_width="100dp"
    android:layout_height="wrap_content"
    android:text="done"
    android:layout_gravity="center_horizontal"
    android:onClick="finalSelection"/>
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/final_result"
    android:text="Hello World"/>
</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

这意味着您已经打开了一些内容但从未关闭它们。Closable有一个方法close,当您不再需要时,必须调用该方法以释放与该组件关联的资源。

要查找泄漏,您可以尝试MAT,我经常使用它来查找内存泄漏(保存对Activity的引用的静态数据等)。