我应该在onDestroyView中删除OnClickListener吗?

乔治

我为按钮设置了监听器:

  View onCreateView(...) {
    ...
    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //some work
        }
    });
    ...
}

如果我使用ButterKnife,建议打电话给ButterKnife.unbind(this)onDestroyView(){..}是否需要删除侦听器以避免内存泄漏?

void onDestroyView() {
    ...
    btn.setOnClickListener(null)
}
内特斯坦

这取决于...

您是否为纵向和横向设置了不同的布局,并对其进行了配置,以便在旋转时仅破坏视图?

如果是这样,请选择是,以防止在已使用的活动/片段上引用未使用的视图(这可能会阻止其成为GC)

如果当你旋转视图和片段/活动被破坏,那么NO,你不需要做它做,GC将照顾它。

之所以存在这种差异,是因为Android在其GC上使用了Mark-Sweep算法,这将防止收集2个相互引用的未使用对象(循环引用)的情况……而不是使用对象的情况有一个未使用的引用


关于此的一些有用的问答:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我应该在onDestroyView中删除OnClickListener吗?

来自分类Dev

我应该在C ++中删除静态对象吗

来自分类Dev

我应该在我的 .htaccess 文件中删除或添加一些东西吗?

来自分类Dev

我应该在applicationWillTerminate中删除观察者吗?

来自分类Dev

我应该在Android App的内部存储器中删除文件吗?

来自分类Dev

我应该在模型中抛出HttpStatus异常吗?

来自分类Dev

我应该在交易中包含SELECT吗?

来自分类Dev

我应该在表示层中抛出异常吗?

来自分类Dev

我应该在virtualenv中安装python 3吗?

来自分类Dev

我应该在C ++的类中存储引用吗?

来自分类Dev

我应该在Rust中返回等待吗?

来自分类Dev

我应该在virtualenv中安装python 3吗?

来自分类Dev

我应该在系统中杀死僵尸进程吗?

来自分类Dev

我应该在备份中包含/ dev吗?

来自分类Dev

我应该在Java中嵌套这些类吗?

来自分类Dev

xcworkspace应该在gitignore中吗

来自分类Dev

我应该在安装新版本之前删除旧版本的软件吗?

来自分类Dev

我应该在@登录电子邮件之前删除所有圆点吗

来自分类Dev

我应该在升级到17.04的系统上删除交换分区吗?

来自分类Dev

我应该在DAO上添加“实删除”方法以进行集成测试吗?

来自分类Dev

我应该在关闭拉取请求后删除分支吗?

来自分类Dev

EF:我应该在我的实体中包括外键ID吗?

来自分类Dev

我可以/应该在文件夹中组织我的30个课程吗?

来自分类Dev

我应该在Rails中明确指定我的助手吗

来自分类Dev

我应该在Windows Store应用中的共享合同中删除文件

来自分类Dev

我也应该在MVC 5中在POST中绑定html.dropdownlistfor吗?

来自分类Dev

在REST API中,要获取资源,我应该在URL中包括资源ID吗?

来自分类Dev

我应该在Tomcat中针对Poodle(SSL3)漏洞删除哪些SSL密码

来自分类Dev

我应该在模糊查询字段中包含空格吗?

Related 相关文章

  1. 1

    我应该在onDestroyView中删除OnClickListener吗?

  2. 2

    我应该在C ++中删除静态对象吗

  3. 3

    我应该在我的 .htaccess 文件中删除或添加一些东西吗?

  4. 4

    我应该在applicationWillTerminate中删除观察者吗?

  5. 5

    我应该在Android App的内部存储器中删除文件吗?

  6. 6

    我应该在模型中抛出HttpStatus异常吗?

  7. 7

    我应该在交易中包含SELECT吗?

  8. 8

    我应该在表示层中抛出异常吗?

  9. 9

    我应该在virtualenv中安装python 3吗?

  10. 10

    我应该在C ++的类中存储引用吗?

  11. 11

    我应该在Rust中返回等待吗?

  12. 12

    我应该在virtualenv中安装python 3吗?

  13. 13

    我应该在系统中杀死僵尸进程吗?

  14. 14

    我应该在备份中包含/ dev吗?

  15. 15

    我应该在Java中嵌套这些类吗?

  16. 16

    xcworkspace应该在gitignore中吗

  17. 17

    我应该在安装新版本之前删除旧版本的软件吗?

  18. 18

    我应该在@登录电子邮件之前删除所有圆点吗

  19. 19

    我应该在升级到17.04的系统上删除交换分区吗?

  20. 20

    我应该在DAO上添加“实删除”方法以进行集成测试吗?

  21. 21

    我应该在关闭拉取请求后删除分支吗?

  22. 22

    EF:我应该在我的实体中包括外键ID吗?

  23. 23

    我可以/应该在文件夹中组织我的30个课程吗?

  24. 24

    我应该在Rails中明确指定我的助手吗

  25. 25

    我应该在Windows Store应用中的共享合同中删除文件

  26. 26

    我也应该在MVC 5中在POST中绑定html.dropdownlistfor吗?

  27. 27

    在REST API中,要获取资源,我应该在URL中包括资源ID吗?

  28. 28

    我应该在Tomcat中针对Poodle(SSL3)漏洞删除哪些SSL密码

  29. 29

    我应该在模糊查询字段中包含空格吗?

热门标签

归档