2010-10-13 43 views
2

我有一個非常標準的iPhone應用程序,它創建了一系列由意圖初始化的大約7個獨特活動。Android意圖活動崩潰行爲 - 應用程序在應用程序中途重新啓動

但是,如果應用程序在第7次活動中崩潰,則應用程序會在第5次活動周圍的用戶手機上重新啓動。接下來的問題是從活動1-4收集的信息爲空,這意味着該應用程序是無用的,讓應用程序再次運行的唯一方法是連續按回或殺死該進程。

爲什麼會出現這種情況,並且是否有強制應用程序在第一次活動崩潰時重新開始的方法。

回答

0

您的應用正在超出活動堆棧上的崩潰活動的活動中重新啓動。您可以通過致電

this.finish(); 

開始下一個活動後完成超出當前範圍的所有活動。

問題是用戶現在無法按下後退按鈕來更改之前步驟中插入的數據,因爲這些活動已消失。

您可能在暫停和恢復週期數據持久性方面存在一般性問題。嘗試在進行更深層次的活動時調用模擬器或手機,然後通過長按主頁按鈕返回到應用程序。您可能會看到以前活動的數據現在也是空的。 玩弄這種行爲,看看application life cycle documents

這可能是檢查數據是否可用以及是否關閉活動或返回到開始活動的一種方法。