我在通過Google地圖繪製自定義切片時遇到問題。Android MapView與GoogleTileOverlay未釋放位圖
使用GoogleTileOverlay從OSMDroid
,我繪製在設備SD卡本地存儲的自定義瓷磚。
問題發生在我打開地圖後,然後嘗試返回到其他活動。事情開始變得怪異。 XML中定義的背景顏色沒有顯示出來和其他奇怪的東西。
我已經搜索了很多原因,我所能想到的是沒有足夠的內存?
According to Eclipse MAT有8.4 MB遺留位圖之後我已經摧毀持有MapView
和GoogleTileOverlay
讓我知道如果有我可以提供任何其他信息的活動。
同樣的問題在這裏。我嘗試清除Google地圖活動的停滯時間的磁貼緩存,但似乎有些位圖仍然保留在活動引用中,因此在活動被破壞後不會被GCC控制。至今對您的情況有何看法? – plesatejvlk
@plesatejvlk不幸的是,不,我已經迫使應用程序在完成活動後完全重新啓動。我在XML資源上遇到了一些嚴重的顏色問題。仍在尋找更好的解決方案,但現在,它的工作原理。 – MrZander
在MAT中,您是否在幾次活動切換後(在原始解決方案中)看到您的地圖活動的單個實例?特別是LRUMapTileCache?在我的情況下,它是位圖上的緩存(指的是活動),最終導致整個活動泄漏到OOM中。我通過從MapView的疊加列表中刪除疊加層來解決它_before_我在提供程序上調用了clearMapTiles並解決了泄漏問題。但仍然有8 MB的內存,至少只有一次。 – plesatejvlk