Android基本API v2 MapActivity outOfMemory,带有10个标记

mar*_*son 7 android google-maps memory-leaks bitmap out-of-memory

我正在尝试使用Android Maps API v2和Android支持库来实现地图,使用Android 2.2在Droid2上进行测试一切都运行良好但只是很短的时间.一旦我添加10个标记并尝试移动地图或放大/缩小,每秒都会抛出以下错误,从而导致可怕的异常和崩溃.我在后台无所事事.实际上只有地图和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
Run Code Online (Sandbox Code Playgroud)

例外:

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)
Run Code Online (Sandbox Code Playgroud)

布局:

<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"
    />
Run Code Online (Sandbox Code Playgroud)

标记:

    for (int i = 0; i < 9; i++) {

    mMap.addMarker(new MarkerOptions()
            .position(new LatLng(49d, 16d))
            .draggable(true)
            .title("BUUUUU")
            .snippet("TEST"));
    }
Run Code Online (Sandbox Code Playgroud)

Ake*_*ist 0

标记图像有多少尺寸?尝试将标记图像调整得更小