Android 回调 - 这是潜在的内存泄漏吗?

标签 android memory-leaks android-activity callback

在我的 Android 应用程序中,我的一项 Activity 包括实例化我的其他类。 有些类需要写入屏幕。我想将所有布局交互保留在顶层。 因此,我创建了一个接口(interface),其中包含可以调用以输出到屏幕的方法列表。然后我在主 Activity 中实现这个接口(interface)。 最后,在实例化类时,我将“this”传递给构造函数,它被保存并用于回调。

我的问题是:由于我将 Activity 对象本身传递给它的对象之一,是否存在内存泄漏的危险?

最佳答案

我会为此研究标准的 Android 处理程序机制(也支持针对 UI 更改的自定义回调)。

下面是定义自定义回调以处理 UI 更改的处理程序示例:

http://developer.android.com/resources/samples/TicTacToeLib/src/com/example/android/tictactoe/library/GameActivity.html

只要您能确保您的“this”的范围正确,您就应该非常安全,但是,一旦您开始将 Activity 传递给其他类,它就会为潜在的内存泄漏敞开大门,因为代码段现在可以获取该实例,并防止它在本应在对象上发生垃圾回收的时间被垃圾回收。

关于Android 回调 - 这是潜在的内存泄漏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5591691/

相关文章:

objective-c - 这是 Objective-C 内存泄漏吗?

android - 如何返回关闭 Activity 之间的 Activity ?

java - 谷歌地图在 Android 中突然不显示

java - Java中的自动内存泄漏检测

java - 按下按钮后多个 Activity 应用程序崩溃

javascript - Node(Meteor) 中的 setTimeout 内存泄漏

android - 如何仅在一个 Activity android 中在两个布局之间切换

android - 如何在带有选项卡的滑动 View 中使用 Activity

java - 如何修复 ClassNotFoundException 生成的错误

java - 使用 AsyncTask 在主 Activity 的单独类中获取控件