我的應用程序的一個主要問題是崩潰,這是由於我的應用程序包含大量內容(它是內容共享網站客戶端)而發生的。我有很多內存錯誤,我可以使用高達170-180 MB的內存,這很荒謬。需要幫助管理內存
http://i.gyazo.com/6cd53e6cf6f0a9bfdd6a24b323a70b09.gifhttp://gyazo.com/b64d50f76b2ef608954a6d6cdd5d52d0
這些截圖是剛剛從裝載25份意見書,並通過他們的滾動。
我目前的設置是像這樣:LruCache與
(Runtime.getRuntime().maxMemory()/1024)/8
負責處理所有提交的圖像尺寸。當我加載提交照片或縮略圖時,它會進入該緩存。相冊由位圖的簡單ArrayAdapter和WeakHashMap存儲處理,因爲它很少被調用(可能每25-30個帖子中有1個包含相冊)。通過GfyCat將GIF流式傳輸到VideoView,GIF或專輯中不會發生真正的崩潰。當我滾動時會出現真正的錯誤,這很奇怪,因爲我一次將圖像加載到LruCache中以節省移動無線電時間(電池改進)。
這個問題似乎是,Android是試圖可能把更多的進入LruCache比是可以的,因爲我得到這樣
java.lang.OutOfMemoryError: Failed to allocate a 3169972 byte allocation with 1400991 free bytes and 1368KB until OOM
即使我LruCache大小爲24576kb錯誤。
我是否正確處理內存?我可以採取哪些步驟來提高穩定性,並保持應用程序的速度? 謝謝!
你縮放點陣圖,當你加載它們? – dumazy