我使用 OsmDroid 的应用程序中存在内存泄漏。经过一番搜索,我发现泄漏是由 MyLocationNewOverlay.enableMyLocation() 方法引起的:
mMyLocationNewOverlay.enableMyLocation();
如果我注释掉那条线,就不会有内存泄漏。我想我忘了在 onPause() 或 OnStop() 处取消注册位置监听器。所以我尝试使用以下方法在 onPause() 注销它:
mMyLocationNewOverlay.disableMyLocation();
但是,泄漏仍然发生。我什至试图删除整个 mMyLocationNewOverlay,但它仍然不起作用。我想知道在 OsmDroid 中取消注册位置侦听器并修复内存泄漏的正确方法是什么?