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

时间:2013-01-07 02:30:38

标签: 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

例外:

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 个答案:

答案 0 :(得分:0)

标记图像的大小是多少? 尝试调整标记图像的大小