我之前使用过MapFragment,但它对我的需求来说速度太慢了。MapView几乎是瞬间出现的,并且完全符合我的需求。但是它们都有一个共同点: 内存泄漏很严重。 我已经像应该做的那样在退出活动时“销毁”了MapView,但它仍然会泄漏。MapView在一个频繁打开和关闭并快速再次打开的活动中。这可能是问题所在吗? 这里是我的hprof文件的一些截图(由于可能存在敏感信息,我不想上传hprof文件): 我遇到了多个泄漏问题,它们都指向相同的类。 然而,我正在使用一个自定义类,这在此时是不需要的,我将恢复默认的MapView。
我不确定是否是这种情况,但我使用Kotlin做了一些愚蠢的事情。 Kotlin具备空安全性。googleMapView?.onDestroy() 我在我的Fragment的onDestroy()方法中调用了它。猜猜怎么着?googleMapView是null,所以它没有调用它的onDestroy()!因为我认为我的一些自定义类保留了引用或其他导致了这个问题,所以浪费了大约2个小时...