2013-02-22 12 views
5

Quando aggiungo ed elimini i marcatori sulla mappa, dopo un po 'di tempo l'app si arresta in modo anomalo con un'eccezione di memoria esaurita.Eccezione di memoria con android google maps v2

la risposta 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 

il mio codice è:

loop 20 times: 


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

Per ogni nuovo ciclo, sto rimuovendo marker sulla mappa e l'aggiunta di nuovi.

Ho anche preso abbastanza cura di bitmap come

bitmap.recycle e assegnare bitmap con null dopo l'uso di bitmap/

risposta

1

Ho lo stesso problema in Google map v2, Nel mio caso, la mia mappa viene aggiornata ogni 30 secondi. Dopo mezz'ora la mia app è in crash, ho risolto questo problema utilizzando mMap.clear(); dove mMap è il mio oggetto di GoogleMap.

È possibile inserire questo codice prima di chiamare per ciclo.

spero che questo ti possa aiutare.

+0

Uso anche mMap.clear(); ma sto ottenendo ancora questo errore. – tasomaniac

Problemi correlati