2017-01-16 38 views
0
  1. 什麼時候我們可以說一個應用程序已經死了(當應用程序進程死亡或當進程中的所有活動都被終止時)。ANDROID APPLICATION AND PROCESS

  2. 爲什麼在Application對象中存儲數據是一個壞主意?

    編輯

  3. 假設我有一個WhatIsYourNameActivity,詢問用戶的姓名和在所有MyApplication延伸應用商店。我有另一個WelcomeActivity從應用程序的對象中獲取該名稱。如果用戶離開了應用程序(使用home按鈕),並且android默默地殺死應用程序以回收一些內存,那麼應用程序在再次打開時會因爲空指針而崩潰(因爲Application對象是新的)。爲什麼不創建WhatIsYourNameActivity的新對象?爲什麼onCreate()方法不叫()爲WhatIsYourNameActivity?(本次活動也得到了Android殺害。是不是?還是殺人該應用還有其他一些意義嗎?) 當應用被殺害並重新開始時,究竟發生了什麼?

+0

1)當進程死亡,它肯定是應用程序是死了。 2.)(什麼數據?) – Enzokie

回答

4
  1. 當進程已經死了。因爲您可以運行服務或其他線程,即使所有活動都已停用,它仍然可以正常工作。

  2. 因爲Android可能會在任何時候(例如,如果用戶打開其他應用程序並且該應用程序將分配所有內存)終止應用程序,然後再次重新啓動(當用戶再次打開您的應用程序時)。在這種情況下,您將丟失應用程序對象中的所有數據。

你可以在這裏得到更多的細節 - https://developer.android.com/guide/topics/processes/process-lifecycle.html

+0

當你說「Android可以隨時殺死你的應用程序」。這是否意味着要殺我的應用程序? – rayan

+0

是的,我的意思是過程 – Grimmy