Android 2.2でDroid2をテストしてAndroid Maps API v2を使用してマップを実装しようとしています すべてがうまくいっていますが、短期間です。マーカーを10個追加して地図を移動したり、ズームイン/ズームアウトしたりすると、毎秒次のエラーがスローされ、恐ろしい例外が発生し、クラッシュすることになります。 私はバックグラウンドで何もしていません。文字通り地図と10個のマーカーがあります。Androidの基本API v2 MapActivity outOfMemory(マーカー10個)
ありがとうございました。
マーティン
エラー:
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
例外:
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)
レイアウト:
個の<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"
/>
マーカー:
for (int i = 0; i < 9; i++) {
mMap.addMarker(new MarkerOptions()
.position(new LatLng(49d, 16d))
.draggable(true)
.title("BUUUUU")
.snippet("TEST"));
}
1つの位置に10個のマーカーを追加している可能性があります。異なる位置にマーカーを追加しようとします。 – GrIsHu
はちょうどテストケースだ、マーカが別の場所にあるときも同じように振る舞う。(私がしなかった場合、些細なグーグルミスであっただろう) – martenson
私はそのデバイスでも同じ問題を抱えている。私は50マーカーを描くことができますが、マップの10パン後、それは死ぬ。私はヒープを見ていました。私はまだ5MBを持っていたが、それはあなたのアプリと同じ量を求めたときに死んだ。私は1048576バイトを間違って読んでいますか? :( – Steven