rozmiar bitmapy przekracza błąd budżetu Vm android
Po przejściu do trybu poziomego tworzonych jest kilka obiektów z mapą bitową pełnego ekranu.
Gdy przewijam, wywoływany jest inny obiekt i wyświetlana jest jego mapa bitowa, gdy robię to wielokrotnie, rozmiar bitmapy przekraczavm
błąd budżetowy, zrobiłem wszystkie takie rzeczyrecycle()
, ustaw wartość null, a następnie wywołajGC()
, wciąż mam ten sam błąd. tworzenie mapy bitowej ....
bitmap = Bitmap.createBitmap(ChartProperties.getChartWidth(),
ChartProperties.getChartHeight(),
Bitmap.Config.RGB_565);
imageCache.put(String.valueOf(LandscapeChartActivity.getActiveFeature()),
new SoftReference(bitmap));
if(imageCache != null){
for (int i = 0; i < imageCache.size(); i++) {
if (imageCache.get(String.valueOf(i)) != null) {
imageCache.get(String.valueOf(i)).get().recycle();
imageCache.put(String.valueOf(i), null);
}
}
Runtime.getRuntime().gc();
imageCache.clear();
imageCache = null;