Android Destek Kitaplığı ile Android Maps API v2 kullanarak harita uygulamaya çalışıyorum, Android 2.2 ile Droid2 üzerinde test Her şey iyi çalışıyor ama sadece kısa bir süre için. 10 tane işaretçi ekledikten sonra haritayı hareket ettirmeye veya zum yapmaya/uzaklaştırmaya çalışınca, her bir saniyede bir hata oluşur ve sonuçta korkunç istisna ve çarpışma oluşur. Arka planda hiçbir şey yapıyorum. Tam anlamıyla sadece harita ve 10 işaretçi var.Android basic API v2 MapActivity outOfMemory 10 markörlü
Her türlü ipucu için teşekkür ederiz.
Martin
hatalar:
01-07 03:03:23.221: DEBUG/dalvikvm(12914): GC_FOR_MALLOC freed 38714 objects/1797752 bytes in 74ms
01-07 03:03:23.378: ERROR/dalvikvm-heap(12914): 1048576-byte external allocation too large for this process.
01-07 03:03:23.378: ERROR/GraphicsJNI(12914): VM won't let us allocate 1048576 bytes
01-07 03:03:23.378: WARN/System.err(12914): OutOfMemory
01-07 03:03:23.432: DEBUG/dalvikvm(12914): GC_EXPLICIT freed 8793 objects/601896 bytes in 58ms
01-07 03:03:23.862: ERROR/dalvikvm-heap(12914): 1048576-byte external allocation too large for this process.
01-07 03:03:23.862: ERROR/GraphicsJNI(12914): VM won't let us allocate 1048576 bytes
01-07 03:03:23.870: WARN/System.err(12914): OutOfMemory
İstisna:
01-07 02:45:12.432: ERROR/dalvikvm-heap(12315): 1048576-byte external allocation too large for this process.
01-07 02:45:12.432: ERROR/GraphicsJNI(12315): VM won't let us allocate 1048576 bytes
01-07 02:45:12.464: WARN/dalvikvm(12315): threadid=17: thread exiting with uncaught exception (group=0x400208b0)
01-07 02:45:12.479: ERROR/AndroidRuntime(12315): FATAL EXCEPTION: GLThread 18
java.lang.OutOfMemoryError: bitmap size exceeds VM budget
at android.graphics.Bitmap.nativeCreate(Native Method)
at android.graphics.Bitmap.createBitmap(Bitmap.java:498)
at maps.r.h.a(Unknown Source)
at maps.cp.a.a(Unknown Source)
at maps.cp.a.a(Unknown Source)
at maps.cp.a.b(Unknown Source)
at maps.m.n.a(Unknown Source)
at maps.m.at.a(Unknown Source)
at maps.a.bq.a(Unknown Source)
at maps.a.w.a(Unknown Source)
at maps.a.w.a(Unknown Source)
at maps.a.w.a(Unknown Source)
at maps.a.ba.m(Unknown Source)
at maps.a.ba.run(Unknown Source)
Düzen:
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
class="com.google.android.gms.maps.SupportMapFragment"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
map:cameraTargetLat="49.85"
map:cameraTargetLng="15.42"
map:mapType="normal"
map:uiCompass="true"
map:uiRotateGestures="true"
map:uiScrollGestures="true"
map:uiTiltGestures="true"
map:uiZoomControls="false"
map:uiZoomGestures="true"
/>
İşaretleyiciler: işaretleyici görüntüsünün
for (int i = 0; i < 9; i++) {
mMap.addMarker(new MarkerOptions()
.position(new LatLng(49d, 16d))
.draggable(true)
.title("BUUUUU")
.snippet("TEST"));
}
10 işaretçiyi yalnızca tek bir konum ekliyor olmanız olabilir. İşaretçiyi farklı konumlara eklemeyi deneyin. – GrIsHu
sadece bir test çantası, işaretleri farklı yerlerde olduğunda aynı davranır (olmazsa önemsiz bir google hatası olurdu) – martenson
Aynı cihazda da aynı sorunu yaşıyorum. 50 işaretçi çizebilirim, ancak haritanın 10 tadından sonra ölür. Yığını seyrediyordum ve hiç bir zaman kullanıcıların tüm yığınlarını kullanmıyordum. Hala 5mb'im vardı, ancak uygulamanızla aynı miktarda istediğinde öldü. 1048576 baytını yanlış okuyor muyum? :( – Steven