2012-05-16 94 views
0

我在某些設備上遇到了我的應用程序的奇怪行爲。每當我的應用程序最小化並重新打開時,我的應用程序從一開始就重新啓動。而這隻發生在一些設備上,我不確定爲什麼會發生這種情況。有沒有人遇到過這樣的問題?請讓我知道解決方案。Android應用程序某些設備上的奇怪行爲

回答

5

這是由於某些設備的內存處理 - 低內存和胖皮膚將會更快地銷燬後臺應用程序,以便它們不會耗盡內存。

您不能保證您的應用程序在任何時候都會保持活動狀態(除非它是服務),因此您必須圍繞此設計應用程序。

1

此行爲可能是由於這些設備上的內存不足造成的。然而,你可能會嘗試要做的是將android:alwaysRetainTaskState="true"設置爲清單中的第一個活動。即使在內存不足的情況下,此屬性也會盡最大努力將應用程序的活動保留在內存中。

按照開發商docs

安卓alwaysRetainTaskState

無論該活動是在意志 總是由系統維護任務的狀態 - 「真」,如果如果允許系統在 某些情況下將任務重置爲其初始狀態,將會是「假」 。默認值是「false」。此屬性是 僅對任務的根活動有意義;它被忽略了所有 其他活動。

通常,系統清除一個任務(去除從 堆的根活動以上所有活動)在某些情況下,當用戶 重新選擇從主屏幕那個任務。通常,如果 用戶在一段時間內未訪問任務,例如 30分鐘,則完成此操作。

但是,當此屬性爲「true」時,用戶將始終返回到 處於其最後狀態的任務,而不管它們如何到達那裏。這是 有用,例如,在像瀏覽器那樣的應用程序中,有許多狀態(如多個打開的選項卡),用戶不想丟失。

相關問題