2013-01-07 8 views
7

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")); 
    } 
+0

1つの位置に10個のマーカーを追加している可能性があります。異なる位置にマーカーを追加しようとします。 – GrIsHu

+1

はちょうどテストケースだ、マーカが別の場所にあるときも同じように振る舞う。(私がしなかった場合、些細なグーグルミスであっただろう) – martenson

+1

私はそのデバイスでも同じ問題を抱えている。私は50マーカーを描くことができますが、マップの10パン後、それは死ぬ。私はヒープを見ていました。私はまだ5MBを持っていたが、それはあなたのアプリと同じ量を求めたときに死んだ。私は1048576バイトを間違って読んでいますか? :( – Steven

答えて

0

どのように多くのマーカー画像のサイズ? マーカー画像のサイズを小さくしてみてください

+1

デフォルトのマーカーですが、私はそれを変更しませんでした – martenson