簡體   English   中英

在Android中獲取Java.io.closeable錯誤

[英]Getting Java.io.closeable Error in 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>

這意味着您已經打開了某些東西,但從未關閉它們。 Closable具有close方法,當您不再需要該方法時,必須調用該方法以釋放與該組件關聯的資源。

要查找泄漏,您可以嘗試MAT ,我經常用它來查找內存泄漏(持有對Activity的引用的靜態數據等)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM