5

当我在地图上添加和删除标记时,一段时间后应用程序崩溃并出现内存不足异常消息。

logcat 的响应是:

02-21 06:04:27.670: E/AndroidRuntime(1892): FATAL EXCEPTION: vts_com.rapidBizApps.mapamine
02-21 06:04:27.670: E/AndroidRuntime(1892): java.lang.OutOfMemoryError
02-21 06:04:27.670: E/AndroidRuntime(1892):     at maps.bb.d.a(Unknown Source)
02-21 06:04:27.670: E/AndroidRuntime(1892):     at maps.s.ap.a(Unknown Source)
02-21 06:04:27.670: E/AndroidRuntime(1892):     at maps.ak.r.a(Unknown Source)
02-21 06:04:27.670: E/AndroidRuntime(1892):     at maps.ak.e.a(Unknown Source)
02-21 06:04:27.670: E/AndroidRuntime(1892):     at maps.ak.e.a(Unknown Source)
02-21 06:04:27.670: E/AndroidRuntime(1892):     at maps.ak.o.handleMessage(Unknown Source)
02-21 06:04:27.670: E/AndroidRuntime(1892):     at android.os.Handler.dispatchMessage(Handler.java:99)
02-21 06:04:27.670: E/AndroidRuntime(1892):     at android.os.Looper.loop(Looper.java:130)
02-21 06:04:27.670: E/AndroidRuntime(1892):     at maps.ak.e.j_(Unknown Source)
02-21 06:04:27.670: E/AndroidRuntime(1892):     at maps.ak.ad.j_(Unknown Source)
02-21 06:04:27.670: E/AndroidRuntime(1892):     at maps.bb.l.b(Unknown Source)
02-21 06:04:27.670: E/AndroidRuntime(1892):     at maps.bb.l.run(Unknown Source)
02-21 06:04:33.260: D/dalvikvm(1892): GC_EXPLICIT freed 2148K, 53% free 5309K/11207K, external 21007K/21768K, paused 71ms

我的代码是:

loop 20 times:


    mapView.addMarker(new MarkerOptions()
                                        .position(new LatLng(latitude, longitude))
                                        .icon(BitmapDescriptorFactory
                                                .fromBitmap((bitmap)))
                                        .snippet(text + "             ")
                                        .title(mine_name));

对于每个新循环,我都会删除地图上的标记并添加新标记。

我也足够关心位图

bitmap.recycle 并在使用 bitmap/ 后将 bitmap 分配为 null

4

2 回答 2

5

这个google api有一些问题。我们必须等待下一个版本.... BitmapDescriptorFactory 有内存泄漏。

http://code.google.com/p/gmaps-api-issues/issues/detail?id=4766&colspec=ID%20Type%20Status%20Introduced%20Fixed%20Summary%20Stars%20ApiType%20Internal

修复了 13 年 1 月 25 日,但未发布。快点谷歌!

于 2013-02-22T17:07:30.267 回答
1

我在谷歌地图 v2 中遇到了同样的问题,就我而言,我的地图每 30 秒刷新一次。半小时后我的应用程序崩溃了,我使用mMap.clear();where mMapis my object of解决了这个问题GoogleMap

您可以在调用 for 循环之前放置此代码。

希望这会帮助你。

于 2013-07-17T12:30:24.173 回答