我在我的应用程序中使用了MapView
v2(不是MapFragment
),它导致内存泄漏。当我将Activity上下文传递给MapView构造函数时发生泄漏。如果我通过应用上下文的MapView的构造函数的内存泄漏消失了,但是的MapView开始执行不好,当我滚动了滚动它在Android MapView v2上下文问题和内存泄漏
这里就是泄漏正在发生的快照:
在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
搞乱了几个星期,现在的努力得到它在一个正确行为,无济于事。我即将放弃它。
此外,最近添加的snapshot()
方法不是一个选项,因为我已经尝试过了,它不提供地图的可靠快照。我对这个here和另一个相关的开放问题here和here有一个未解答的问题,所有这些问题都没有得到回答。
1.绘制了一个不完整的位图,因为我不会立即创建MapView,我必须等待Loader完成一些数据才能构建一个自定义View,其中包含我的MapView。我试着打电话与听众快照后,我建立一个与选择等,但的MapView当听众被激发的MapView还没有完成渲染地图呢,所以你会看到随机0%至渲染地图100%通过回调传回的位图。 –
不知道你怎么做,但你不应该要求一个快照前,您的MapView已经完成渲染。随意创作一篇新文章,我可以尝试通过它来帮助你。 –
这是问题的症结所在,当地图完成渲染时,没有回调可以告诉你。看起来,快照方法是意味着从按钮按下或什么东西触发。 –