我在我的應用程序中使用了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已經完成渲染。隨意創作一篇新文章,我可以嘗試通過它來幫助你。 –
這是問題的癥結所在,當地圖完成渲染時,沒有回調可以告訴你。看起來,快照方法是意味着從按鈕按下或什麼東西觸發。 –