Java安卓监听器

本文关键字:监听器 Java | 更新日期: 2023-09-27 18:30:11

在c#中,我们必须删除事件订阅,因为如果我们丢失了到对象的链接,就会发生内存泄漏。所以我需要在java中删除监听器(例如:在停止android活动时从按钮中删除监听器),否则它将被垃圾收集?

mBtn.setOnClickListener(this); --> replace this by null on activity stop

Java安卓监听器

我不知道stop activity是什么意思,但只要没有更多指向它的引用,监听器就有资格使用垃圾收集器。换言之,如果你的程序在活动停止时结束(对不起,我不知道活动周期),mBtn引用将符合垃圾收集器的条件,也符合侦听器的条件,而如果你只想删除侦听器(并有一个死按钮或应用另一个侦听器)并使其(侦听器)符合垃圾收集。

当活动关闭时,不再引用的对象将被垃圾收集。您不需要做任何事情,这就是为什么java中有垃圾收集器,可以将自己从内存分配-释放机制中解放出来。