我有一個活動,它可以在帶有滑動的ImageView中加載圖片。這裏是我的滑翔代碼示例: Glide.with(ImageVOne.getContext()) .load(geoInfo.getPhotoUrl1()) .skipMemoryCache(真) .priority(Priority.NORMAL) .into(ImageVOne) ; 我從1到35張圖片加載,每張圖片應在150ko & 250ko之間。我無法減少這一點。Android內存泄漏滑行
此活動可以在主要活動的會話中多次訪問,並且每次加載不同的圖片。例如在第一時間將是華盛頓的照片,那麼倫敦的圖片等
我的問題是,使用的內存增加了不少每一個加載圖片的活動開始時間:
我可以從3到5次啓動活動,然後應用程序崩潰。該錯誤消息是 java.lang.OutOfMemoryError:無法分配與1126320個免費字節,1099KB一個1411340字節分配,直到OOM
我讀posts about memory leaks但我認爲滑翔會避免這個問題。我的照片活動在另一張照片開始之前完成,但分配給我的應用的內存似乎沒有下降。 我還在Manifest中對我的圖片活動添加了android:noHistory =「true」,但它不會改變任何內容。
我在我的Manifest中添加了android:largeHeap =「true」,但它只是推遲了我的問題(我可以啓動約10到15次的圖片活動),並且在應用前我的圖片查看中有很多照片未加載崩潰,所以它不是一個很好的解決方案。
我也嘗試添加.skipMemoryCache(真),當我使用滑翔,但我沒有注意到任何改變。
我想我的「內存使用」應該減少每次我從圖片活動主要活動,然後增加,當我開始我的圖片活動再次與新的圖片。但從我在藍色圖表上看到的情況幾乎只會增加。你看到我該怎麼辦?
謝謝
亞歷
ü完成活動每次回壓所使用的生命週期? –
您是否嘗試從活動上下文中調用滑動,而不是圖像上下文?我最好的猜測是,沒有什麼可以被GC'd,因爲Glide以某種方式持有對圖像的引用。將Glide.with(ImageVOne.getContext())更改爲Glide.with(this)(這指的是ActivityB) – NSimon
@ Alex9494您可以檢查我的答案,這可能會有所幫助。 – tahsinRupam