【发布时间】:2016-09-05 19:09:42
【问题描述】:
我以前使用过 MapFragment,但它对于我的需要来说速度很慢。 MapView 几乎是即时的,完全符合我的需求。但他们都有一个共同点:
大量内存泄漏。 我已经像退出活动时那样“破坏”了 MapView,但它仍然泄漏。 MapView处于一个频繁打开关闭又快速打开的Activity。会不会是这个问题?
以下是我的 hprof 文件的一些屏幕截图(由于可能包含敏感信息,我宁愿不上传 hprof 文件):
我有多个泄漏,它们都指向相同的类。
但是,我正在使用自定义类,此时不需要,我将恢复为默认 MapView。
【问题讨论】:
-
你应该重复使用你的 MapView,而不是继续重新创建一个。
-
怎么样? MapView 在活动布局中,我应该在我的 onCreate 方法中使用 mapView.onCreate(savedInstanceState) 吗?
-
知道了,做了一些调查,因为它看起来很有趣。报告了一些关于 MapView 泄漏的错误(例如 code.google.com/p/gmaps-api-issues/issues/detail?id=8111 )。如果您实际上正在适当地处理视图,它看起来可能是一个错误。
标签: android google-maps memory-leaks