0
我正在運行一堆圖像過濾器,似乎遇到了一些內存問題。Android位圖內存使用
在我使用這麼多內存的圖像處理的開頭:
GC_FOR_MALLOC freed 3K, 45% free 3237K/5831K, external 47586K/49634K, paused 17ms
在結束我非常使用這個(畢竟處理完成):
GC_EXTERNAL_ALLOC freed 5K, 16% free 16056K/18951K, external 51430K/52196K, paused 23ms
後,我我完成每個位圖,我把它設置爲回收併爲空:
someBitmap.recycle();
someBitmap = null;
還有什麼我笑他們會對他們做些什麼?是否有任何清理我應該做的帆布正在使用?
而且我的過濾器對象實例,如:
BoxBlurFilter blurFilter = new BoxBlurFilter();
有什麼我應該做的,以釋放他們?在iOS中分配「新」的內存我負責免費。
對於瑣碎的內存管理問題感到抱歉,但我對Android開發頗爲陌生,事情與iOS截然不同。
謝謝!
編輯2,我刪除了我的完整過濾器代碼。
這絕對不同,這實際上是Android中常見的棘手的內存管理問題之一。你可以發佈更多的代碼,以便我們可以看到發生了什麼?有一些*(非常罕見)的情況下調用'System.GC()'是必要/有用的。 – kabuko
謝謝kabuko。我嘗試添加System.GC()後,每個位圖設置爲null,似乎沒有幫助。我會嘗試發佈一些僞代碼或其他東西。 –