2013-02-22 1 views
5

Когда я добавляю и удаляю маркеры на карте, через некоторое время приложение вылетает из-за исключения из памяти.Исключение из памяти с помощью 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 и назначить растровое изображение с нулем после использования растрового/

ответ

1

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

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

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

+0

Я также использую mMap.clear(); но я все еще получаю эту ошибку. – tasomaniac

Смежные вопросы