android - 为什么在 Android Activity 中使用 LocationManager 单例不好?

标签 android memory-leaks singleton

在这个 talk (15:49)有人说我不明白。这就像“当你在 Activity 中使用 LocationManager 单例时,它会导致内存泄漏”。

你能解释一下 LocationManager 单例是如何导致泄漏的吗?

最佳答案

LocationManager 将持有对 Activity 的引用。
LocationManager 实例将一直存在,直到您的应用程序被销毁并持有该 Activity 引用。
同时,用户可以导航出该 Activity 。
现在您的 LocationManager 持有对已完成其周期但无法销毁的 Activity 的引用,因为它是从 LocationManager 引用的 -> Activity 已泄露。

关于android - 为什么在 Android Activity 中使用 LocationManager 单例不好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44456949/

相关文章:

java - 在 android 的 Quickblox 中创建新对话框时出现 nullpointerException

Android:拆分ActionBar真实父级高度

objective-c - 在 Objective c 中管理内存

c# - 在 XAML 中使用单例 - 可能吗?

java - 使用单例存储来自 servlet 的数据(使用 jetty)

android - 如何使用 http 将 Android 中的文件从移动设备发送到服务器?

android - 改造.改造错误: 404 Not Found

jquery - IE 7/8/9 和 FF 4 中 jQuery 的内存泄漏

swift - 了解 AppDelegate 中的保留计数

C++,静态与命名空间与单例