例如當我從App A切換到App B時,我認爲App A將成爲「緩存後臺進程」。這是否意味着App 使用的內存A的內容被複制到「磁盤(SD卡)」? A是否可供其他應用程序使用?在Android上的應用程序切換期間會發生什麼?
此外,如何恢復App A當我切換回來?什麼原因導致恢復延遲,如果有的話?
例如當我從App A切換到App B時,我認爲App A將成爲「緩存後臺進程」。這是否意味着App 使用的內存A的內容被複制到「磁盤(SD卡)」? A是否可供其他應用程序使用?在Android上的應用程序切換期間會發生什麼?
此外,如何恢復App A當我切換回來?什麼原因導致恢復延遲,如果有的話?
只要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,當你再次打開您的應用程序被拋出,這是你重新開始你的線程(告訴你的應用程序開始工作)
閱讀:developer.android.com/reference/android/app/Activity。 HTML和最重要的是關於活動和流程生命週期。 –