【发布时间】:2016-07-20 07:38:15
【问题描述】:
我已经检查了一堆其他问题,但没有一个解决方案有效,我没有使用 googleMap.setMyLocationEnabled(true) 所以这不是问题。
我加载 MapView 的适配器位于 here。
@Override
public void onMapReady(GoogleMap googleMap) {
//TODO: Allow user to update this 1-normal 2-satellite 3-Terrain
MapsInitializer.initialize(mContext);
gMap = googleMap;
gMap.getUiSettings().setAllGesturesEnabled(false);
googleMap.setMapType(1);
googleMap.getUiSettings().setMapToolbarEnabled(false);
// If we have map data, update the map content.
if (mMapLocation != null) {
updateMapContents();
}
}
地图加载良好且功能正常,我只是在方向更改后出现内存不足错误。
这是 LeakCanary 的输出:
在 me.calebjones.spacelaunchnow.debug:1.0.0-DEBUG:28 中。 * me.calebjones.spacelaunchnow.MainActivity 已泄露: * GC 根映射.dz.af$a.f * 参考 maps.dz.af.k * 参考 maps.dg.p.mParent * 引用 android.widget.FrameLayout.mParent * 参考 com.google.android.gms.maps.MapView.mContext * 泄漏 me.calebjones.spacelaunchnow.MainActivity 实例
- 保留:2.3 KB。
- 参考密钥:9007ff6a-0072-49ce-b8cc-afc17cb19a76
- 设备:motorola google Nexus 6 shamu
- Android 版本:6.0.1 API:23 LeakCanary:1.4-beta1 02804f3
- 持续时间:watch=5791ms, gc=156ms, heap dump=11974ms, analysis=85902ms
【问题讨论】:
标签: java android google-maps memory-leaks garbage-collection