2011-01-25 166 views
5

我有一個有很多活動的應用程序。許多這些活動可以啓動其他活動,因此用戶期望生成一個相當大的活​​動堆棧。Android活動堆棧大小問題?

我目前正在使用默認的活動啓動行爲。有人知道,如果一個大的活動堆棧(如> 100)會造成問題嗎?這是否有限制?它會降低性能,導致一個ANR對話框或類似的東西?

感謝

回答

2

時,它需要以釋放內存或其他資源的Android會殺了活動。根據Activity Lifecycle,活動一旦不再可見,就有資格被殺死。

假設你正確地處理了活動的查殺和重新啓動,你應該沒問題。

順便說一句,我掙扎着拿出從用戶的角度來看,使用情況我會在一個應用程序訪問> 100周的活動......

+0

碎片呢? – 2013-04-21 12:08:03

2

梅拉的推理是錯誤的這個問題。只要Android是來自當前正在運行的應用程序的不同應用程序的活動,Android就會從堆棧中殺死活動。因此,如果您的應用程序打開100個活動,則100將保留在堆棧中,並且很可能您會找到OutOfMemoryError。

嘗試以不同方式構建您的應用。

+0

這是正確的答案。 – WindRider 2017-07-14 13:39:00