如果我未在Activity onDestroy()中将Dagger 2组件设置为null,会发生什么情况?

玛丽安(MarianPaździoch)

我看到,如果一个人在活动中实例化一个匕首2组件,那么它后来在归零onDestroy()方法一样看到这里

public class MyActivity {
    private MyActivityComponent component;
    //...

    public void onCreate() {
        component = Dagger_MyActivityComponent.builder()
            .myApplicationComponent(App.getComponent())
            .build()
            .inject(this);

        //...
    }

    public void onDestroy() {
        component = null;
    }
}

如果我不这样做null,会发生什么,会发生什么?

旁注:在注释中,我发现了有用的提示,为什么有人将其设置null为令人信服:“我认为这不是必需的,但它定义的范围很明确”。

大卫·梅登雅克

如果我不将该实例[...]设为空,会发生什么?

没有。之后onDestroy被调用的活动对象会在某些时候垃圾收集。如果活动被重新创建,它将是一个新对象。您的匕首组件也将与您的活动一起被垃圾收集。我通常不添加null组件,onDestroy因为我认为这是不必要的。

如果您保留对活动的静态引用,或者存在其他类型的内存和活动泄漏,则上述情况将不成立但是,如果您拥有这些null组件,那么无论您使用哪种组件也不会有太大的不同

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当我在Amazon S3中将Quiet设置为true以便在deleteObjects()方法中启用安静模式时会发生什么情况?

来自分类Dev

如果在C中将分配的内存设置为NULL会发生什么

来自分类Dev

如果根目录(/)的权限设置为777,会发生什么情况?

来自分类Dev

如果我为一个中断创建多个ISR,会发生什么情况?

来自分类Dev

如果我为一个中断创建多个ISR,会发生什么情况?

来自分类Dev

如果同一文件中有2个Appdelegate类,将会发生什么情况

来自分类Dev

如果在此代码中将变量i直接传递给线程,会发生什么情况?

来自分类Dev

在Elasticsearch中,如果我在一些字段上将'store'设置为yes,但_source设置为false,会发生什么情况?

来自分类Dev

如果多个HTML标记的同一id属性值设置为相同的字符串,会发生什么情况?

来自分类Dev

当我们在C中将数字转换为较小的数字时,会发生什么情况?

来自分类Dev

如果将EXT4文件系统中的一组特定块清零,会发生什么情况?

来自分类Dev

如果未在lambda函数中取消超时处理程序,会发生什么情况?

来自分类Dev

如果我为当前不使用的字符串位置分配一个值,会发生什么情况?

来自分类Dev

如果不将字体嵌入Flash,会发生什么情况?

来自分类Dev

如果rm在提示中途停止,会发生什么情况?

来自分类Dev

如果不关闭Docker容器,会发生什么情况?

来自分类Dev

如果我合并删除了我新功能的代码的提交,会发生什么情况?

来自分类Dev

如果我在已删除的实体上调用EF Reload,会发生什么情况?

来自分类Dev

如果我在Spark中两次缓存相同的RDD,会发生什么情况?

来自分类Dev

如果我在GCC中编译并链接到不需要的库,会发生什么情况?

来自分类Dev

如果我在estimateRigidTransform或getAffineTransform中提供更多输入,会发生什么情况?

来自分类Dev

如果我们在App Delegate中的didFinishLaunching中返回NO,会发生什么情况

来自分类Dev

如果我在PHP函数的末尾不包含“返回”,会发生什么情况?

来自分类Dev

如果我们不关闭用过的末端管道,会发生什么情况:Linux / C

来自分类Dev

如果我将dropna更改为True / False,会发生什么情况

来自分类Dev

如果我尝试使用SetObject并且已经拥有相同的密钥,会发生什么情况?

来自分类Dev

如果我在GA中发送“自定义维度”配置,会发生什么情况?

来自分类Dev

如果我在常规的Ubuntu安装上安装Ubuntu GNOME,会发生什么情况?

来自分类Dev

如果我在PHP函数的末尾不包含“ return”,会发生什么情况?

Related 相关文章

  1. 1

    当我在Amazon S3中将Quiet设置为true以便在deleteObjects()方法中启用安静模式时会发生什么情况?

  2. 2

    如果在C中将分配的内存设置为NULL会发生什么

  3. 3

    如果根目录(/)的权限设置为777,会发生什么情况?

  4. 4

    如果我为一个中断创建多个ISR,会发生什么情况?

  5. 5

    如果我为一个中断创建多个ISR,会发生什么情况?

  6. 6

    如果同一文件中有2个Appdelegate类,将会发生什么情况

  7. 7

    如果在此代码中将变量i直接传递给线程,会发生什么情况?

  8. 8

    在Elasticsearch中,如果我在一些字段上将'store'设置为yes,但_source设置为false,会发生什么情况?

  9. 9

    如果多个HTML标记的同一id属性值设置为相同的字符串,会发生什么情况?

  10. 10

    当我们在C中将数字转换为较小的数字时,会发生什么情况?

  11. 11

    如果将EXT4文件系统中的一组特定块清零,会发生什么情况?

  12. 12

    如果未在lambda函数中取消超时处理程序,会发生什么情况?

  13. 13

    如果我为当前不使用的字符串位置分配一个值,会发生什么情况?

  14. 14

    如果不将字体嵌入Flash,会发生什么情况?

  15. 15

    如果rm在提示中途停止,会发生什么情况?

  16. 16

    如果不关闭Docker容器,会发生什么情况?

  17. 17

    如果我合并删除了我新功能的代码的提交,会发生什么情况?

  18. 18

    如果我在已删除的实体上调用EF Reload,会发生什么情况?

  19. 19

    如果我在Spark中两次缓存相同的RDD,会发生什么情况?

  20. 20

    如果我在GCC中编译并链接到不需要的库,会发生什么情况?

  21. 21

    如果我在estimateRigidTransform或getAffineTransform中提供更多输入,会发生什么情况?

  22. 22

    如果我们在App Delegate中的didFinishLaunching中返回NO,会发生什么情况

  23. 23

    如果我在PHP函数的末尾不包含“返回”,会发生什么情况?

  24. 24

    如果我们不关闭用过的末端管道,会发生什么情况:Linux / C

  25. 25

    如果我将dropna更改为True / False,会发生什么情况

  26. 26

    如果我尝试使用SetObject并且已经拥有相同的密钥,会发生什么情况?

  27. 27

    如果我在GA中发送“自定义维度”配置,会发生什么情况?

  28. 28

    如果我在常规的Ubuntu安装上安装Ubuntu GNOME,会发生什么情况?

  29. 29

    如果我在PHP函数的末尾不包含“ return”,会发生什么情况?

热门标签

归档