在我的應用程序中有能力有無盡的活動堆棧。該方案是,您從一個用戶的頁面開始,該頁面上有一個該用戶的「朋友」的人員列表。然後,您可以點擊一個朋友去到他們的頁面,看起來就像前面一個,在那裏你可以再點擊另一個朋友去他們的網頁,等等...無盡活動計劃
最大的問題,我面對的是一個無盡的本土堆。我相信每次觀看視頻時都會加入這個堆。經過幾次迭代後,我得到了一致的OOM錯誤,所以我必須找到某種解決方案。訣竅是,我想保留最少的最後幾項活動來瀏覽一些歷史記錄。
我能想出的最好的是監視活動堆棧,然後開始整理活動,當它達到一定點。這聽起來像一個堅實的方法,或者甚至更進一步,任何人都可以指出我實施這種或另一種方法?
感謝
編輯:
堆棧是非常簡單的。點擊Listrow(朋友),進入他們的頁面。這是使用一個正常的startActivity調用,意圖與您所在的頁面相同,然後使用用戶標識附加一個額外的意圖,然後調用數據庫或遠程api調用來獲取用戶的數據。
此外,跟進有關的Dalvik VS本土的,我在我的導航過程中我經常檢查meminfo中轉儲。我將達爾維克堆放得儘可能小,清理onStop中的資源。本地堆增長得更快。我沒有對任何位置的硬引用,但從通貨膨脹屏幕上的相當多的可繪圖。這些drawable會導致android最終殺死我的活動嗎?盡我所能告訴他們只是導致了OOM,沒有任何我的活動被預防性地銷燬。
如果我可以手動破壞我的活動,而不只是阻止他們(由於Android聲稱內存不足時做),並保持破壞活動的堆棧中保存的狀態上,這將是理想的。再次
編輯:
另一個關鍵是,這些活動將有例如與他們混在其他活動
用戶 - >用戶 - >活動 - >用戶 - > b活動 - >用戶
所以這就是爲什麼我想利用內置的堆棧,所以我知道,當我必須去一個用戶活動,當我沒有。
究竟如何你實現你的用戶頁面的「堆棧」? – josephus