[英]Why should we call finish() method after sending an intent?
我剛在
Intent wizard = new Intent();
wizard.setClass(this, A.class);
wizard.putExtra("Domain", A.getInstance().B);
startActivity(wizard);
finish();
我們為什么要在這里調用finish()方法? 目的是什么?
finish();
finish用於關閉當前活動。就像您正在將數據發送到其他活動/打開新活動並關閉當前活動一樣。
讓我們用幾個引號來理解它
完成 - 完成活動並應將其關閉時調用此方法。 通過onActivityResult()將ActivityResult傳播回發起您的人
onDestroy() -在活動銷毀之前收到的最后一個呼叫。 發生這種情況的原因可能是活動即將結束( 有人在其上執行finish() ,或者因為系統暫時銷毀了此活動實例以節省空間。
當您在活動上調用finish()
時,將執行緊隨onDestroy()
的方法。例如: onPause()
> onStop()
>和onDestroy()
它們可能與您調用finish()
的地方不同!
onDestroy()
用於最終清理-釋放您可以自己使用的資源,關閉打開的連接,讀取器,寫入器等。 如果您不覆蓋它,則系統將執行它必須執行的操作。
它告訴您要完成所選擇的活動所以它西港島線調用系統onDestroy()
完成該活動后。( 但是,這並不意味着onDestroy()
只得到由完成()調用時,系統能做到這一點時,它的運行活動發送到后台狀態后資源不足 )
此外,還有一些更有趣的問題,例如調用了Activity.finish(),但活動仍保持加載在您可能喜歡的內存中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.