android開發java.lang.StackOverflowError

作android開發時,發現一個關於android退出時不能完全關閉的問題,好比:一個程序裏有多個線程,這樣在退出程序的可能不能徹底關閉,最後發現,只用finish()方法,有時候不能完全退出,我的感受仍是要在適當的地方加上:System.exit(0);java

緣由有兩點:android

1.this.finish()當退出頁面,也許還有其餘activity存在,可能還有沒有結束的線程,有不少沒有釋放的資源。this

2.Java 的 exit(int code) 方法能夠退出當前程序,終止當前正在運行的 Java 虛擬機。參數用做狀態碼;根據慣例,非 0 的狀態碼錶示異常終止。該方法調用 Runtime 類中的 exit 方法。該方法永遠不會正常返回。調用 System.exit(n) 實際上等效於調用:Runtime.getRuntime().exit(n)。spa

因此在推出頁面的onDestroy()裏面加上System.exit(0);能夠解決第二次登錄java.lang.StackOverflowError異常。線程

相關文章
相關標籤/搜索