2013-01-09 30 views
1

例如當我從App A切換到App B時,我認爲App A將成爲「緩存後臺進程」。這是否意味着App 使用的內存A的內容被複制到「磁盤(SD卡)」? A是否可供其他應用程序使用?在Android上的應用程序切換期間會發生什麼?

此外,如何恢復App A當我切換回來?什麼原因導致恢復延遲,如果有的話?

+1

閱讀:developer.android.com/reference/android/app/Activity。 HTML和最重要的是關於活動和流程生命週期。 –

回答

1

只要Android離開它,應用程序A將保留在內存中。如果你想通過這個轉換來引導你的應用程序功能,你需要重寫OnPause()和OnResume()。 例如。

@Override 
    protected void onPause(){ 
    // YOUR CODE HERE 
    super.onPause(); 
    } 

    @Override 
    protected void onResume(){ 
    // YOUR CODE HERE 
    super.onResume(); 
    } 

的onPause被拋出當您按下home鍵,接到一個電話等,讓你有機會阻止你的線程(告訴你的應用程序停止工作)和做任何事情,你必須在之前失去焦點。現在保存數據不是一個好時機,因爲這可能需要很長時間,用戶會希望應用程序立即消失。

的onResume,當你再次打開您的應用程序被拋出,這是你重新開始你的線程(告訴你的應用程序開始工作)

+0

謝謝你的回答!有些混亂。首先,「super.onPause()」和「super.onResume」是做什麼的?其次,默認情況下,應用程序使用的數據在切換期間會丟失,對嗎? – JackWM

+0

super.onPause()是一種在應用程序進入暫停模式時運行的方法。即。你按主頁按鈕,打個電話等等。它讓你有機會在你的應用程序失去焦點之前做任何必要的事情。當您再次打開應用程序時,super.onResume()會運行。 – Jake

相關問題