Исключение нехватки памяти с Android Google Maps v2

Когда я добавляю и удаляю маркеры на карте, через некоторое время приложение вылетает с сообщением о нехватке памяти.

ответ logcat:

02-21 06:04:27.670: E/AndroidRuntime(1892): FATAL EXCEPTION: vts_com.rapidBizApps.mapamine
02-21 06:04:27.670: E/AndroidRuntime(1892): java.lang.OutOfMemoryError
02-21 06:04:27.670: E/AndroidRuntime(1892):     at maps.bb.d.a(Unknown Source)
02-21 06:04:27.670: E/AndroidRuntime(1892):     at maps.s.ap.a(Unknown Source)
02-21 06:04:27.670: E/AndroidRuntime(1892):     at maps.ak.r.a(Unknown Source)
02-21 06:04:27.670: E/AndroidRuntime(1892):     at maps.ak.e.a(Unknown Source)
02-21 06:04:27.670: E/AndroidRuntime(1892):     at maps.ak.e.a(Unknown Source)
02-21 06:04:27.670: E/AndroidRuntime(1892):     at maps.ak.o.handleMessage(Unknown Source)
02-21 06:04:27.670: E/AndroidRuntime(1892):     at android.os.Handler.dispatchMessage(Handler.java:99)
02-21 06:04:27.670: E/AndroidRuntime(1892):     at android.os.Looper.loop(Looper.java:130)
02-21 06:04:27.670: E/AndroidRuntime(1892):     at maps.ak.e.j_(Unknown Source)
02-21 06:04:27.670: E/AndroidRuntime(1892):     at maps.ak.ad.j_(Unknown Source)
02-21 06:04:27.670: E/AndroidRuntime(1892):     at maps.bb.l.b(Unknown Source)
02-21 06:04:27.670: E/AndroidRuntime(1892):     at maps.bb.l.run(Unknown Source)
02-21 06:04:33.260: D/dalvikvm(1892): GC_EXPLICIT freed 2148K, 53% free 5309K/11207K, external 21007K/21768K, paused 71ms

мой код:

loop 20 times:


    mapView.addMarker(new MarkerOptions()
                                        .position(new LatLng(latitude, longitude))
                                        .icon(BitmapDescriptorFactory
                                                .fromBitmap((bitmap)))
                                        .snippet(text + "             ")
                                        .title(mine_name));

Для каждого нового цикла я удаляю маркеры на карте и добавляю новые.

Я также достаточно позаботился о растровом изображении, поскольку

bitmap.recycle и назначьте растровое изображение с нулевым значением после использования растрового изображения/


person Kumar Kalluri    schedule 22.02.2013    source источник


Ответы (2)



У меня такая же проблема с картой Google v2. В моем случае моя карта обновляется каждые 30 секунд. Через полчаса мое приложение выходит из строя, я решил эту проблему, используя mMap.clear();, где mMap — мой объект GoogleMap.

Вы можете поместить этот код перед вызовом цикла for.

Надеюсь, что это поможет вам.

person Hiren Patel    schedule 17.07.2013