android finish()和onkeyDown奇怪的地方

這兩個疑問都是我在寫onKeyDown事碰見的,想要實現連續按兩次退出應用並stop service。 spa

一、關於finish(); 進程

finish是Activity的類,僅僅針對Activity,當調用finish()時,只是將活動推向後臺,並無當即釋放內存,活動的資源並無被清理.此處還有一個對比:System.exit(0)時,殺死了整個進程,這時候活動所佔的資源也會被釋放。 內存

正常再說,執行finish()時會調用activity的onDestroy(),這個毫無疑問。可是在「再按一次退出應用的程序」裏邊調用finish()時,卻不執行onDestroy(); 資源

另外,當按下後退鍵後(針對一個activity的應用),會調用onDestroy(); it

這是奇怪之一,爲何finish()有時會調用onDestroy,有時卻不會, 後臺

二、在onKeyDown中使用stopService(intent),雖然執行過這個語句,可是卻不會調用到Service的onDestroy(); service

因此實際上仍是會出現問題 程序

在這個activity的別的地方使用stopService,就是能夠執行Service的onDestroy activity

真不知道是爲何了,在這裏記錄一下 top

相關文章
相關標籤/搜索