2015-02-17 40 views
0

我爲我的英語道歉,但用谷歌翻譯。我想了解爲什麼Google with Android會在每次更改時重新啓動活動並丟失顯示的所有數據。你怎麼解決這個問題?他們不能讓它成爲可選的這件事嗎? 在我閱讀的每個論壇上使用onSaveInstanceState,onRestoreInstanceState,onConfigurationChanged方法,但如何使用它們並沒有很好地解釋。如果我有一個複雜應用程序,與許多對象,與EditText,與標記,多邊形,我被迫用臨時變量手工保存所有東西?還有另一種方法更快更容易做到這一點?你有什麼實際的例子來展示我嗎?我希望你知道幫助我理解,謝謝大家。Android vs配置更改

回答

0

這是一個可選的東西。在您的清單中,將android:configChanges =「orientation | screenSize」添加到您的活動中,並將關閉該行爲。

真的只有1個很好的情況不覆蓋它 - 如果你沒有AsyncTasks,沒有線程,沒有加載器,沒有綁定的服務,你有單獨的layout.xml文件的橫向和肖像。這是唯一一次不會導致重新創建更多痛苦而不是節省的時間。這是谷歌在API中最大的麻煩。

+0

如果智能手機進入待機狀態或用戶將其鎖定,即使在這種情況下,活動也會重新啓動。對於我已經通過將該代碼放入清單中來解決的輪換問題。 – 2015-02-18 00:04:23

+0

不,它確實沒有。它進入onStop,但它不會重新啓動活動。如果你看到了,其他事情正在發生。你有沒有開啓特殊的開發者選項「不要保持活動」? – 2015-02-18 00:05:00

+0

該選項未激活。這種情況給我帶來了很多問題,因爲應用程序很複雜,我無法手動記住所有的東西。 – 2015-02-18 00:18:10