【发布时间】:2013-09-27 23:16:53
【问题描述】:
我在我的应用程序中使用MapView v2(不是MapFragment),它会导致内存泄漏。当我将 Activity 上下文传递给 MapView 构造函数时,就会发生泄漏。如果我将应用程序上下文传递给 MapView 构造函数,内存泄漏就会消失,但是当我滚动它所在的 ScrollView 时,MapView 开始表现不佳。
这是泄漏发生位置的快照:
MapView中的相关代码为:
public class MapView extends android.widget.FrameLayout {
private final com.google.android.gms.maps.MapView.b gD;
static class b extends com.google.android.gms.dynamic.a<com.google.android.gms.maps.MapView.a> {
private final android.content.Context mContext;
// Here's the Context MapView is leaking
}
static class a implements com.google.android.gms.dynamic.LifecycleDelegate {
// More stuff in here
}
}
我已经与MapView 混淆了几个星期,现在试图让它在ScrollView 中正常运行,但无济于事。我要放弃了。
另外,最近添加的snapshot() 方法不是一个选项,因为我已经尝试过了,它不能提供可靠的地图快照。我对此here 有一个未决问题,还有另一个相关的未决问题here 和here,所有这些都没有得到回答。
【问题讨论】: