幾乎一年後,我已經認識到,Android中的流程生命周期不同於 Activity 生命周期。
更具體地說,我的本機庫正在載入,但在onDestroy中沒有卸載( 我甚至不知道你是否可以在這裡卸載本機庫),但是在下一個過程中,它仍然存在。 這對於Java中的static 變數也是一樣的。
這對於 Android 2.3很好,但我最近進入了 Android 4.2.2,我注意到了一些非常奇怪的事情。 我們現在可能已經終止了進程,並且調用( 這就是我從日誌中看到的),因為在實例化過程中,我們假定onCreate是正確的,因為他在"activity"中認為是 onCreate,而不是處理進程。 所以基本上,如果我暫時停止一個應用程序,並返回到它,通常會導致崩潰。
從設備日誌摘錄:04-14 04:41:34.886 2376 2376 I am_on_paused_called: [0,com.re3.benchmark.AboutActivity]
04-14 05:06:26.128 386 594 I am_proc_died: [0,2376,com.re3.benchmark]
04-14 13:19:44.256 386 538 I am_proc_start:[0,4761,10062,com.re3.benchmark,activity,com.re3.benchmark/.AboutActivity]
04-14 13:19:44.295 386 595 I am_proc_bound: [0,4761,com.re3.benchmark]
04-14 13:19:44.397 386 595 I configuration_changed: 5248
04-14 13:19:44.459 386 595 I am_restart_activity: [0,1115347592,8,com.re3.benchmark/.AboutActivity]
04-14 13:19:44.701 4761 4761 I am_on_resume_called: [0,com.re3.benchmark.AboutActivity]
04-14 13:19:44.881 386 401 I am_activity_launch_time: [0,1115347592,com.re3.benchmark/.AboutActivity,631,631]
04-14 13:19:52.725 386 595 I am_crash: [4761,0,com.re3.benchmark,8961606,java.lang.NullPointerException,NULL,REFramework.java,330]
04-14 13:19:52.725 386 595 I am_finish_activity: [0,1115347592,8,com.re3.benchmark/.AboutActivity,crashed]
04-14 13:19:52.772 386 595 I am_pause_activity: [0,1115347592,com.re3.benchmark/.AboutActivity]
PS:I 實現了在我的代碼中發生崩潰,但我的代碼並不真正處理onRestart中的第一個函數。