gpt4 book ai didi

greenrobot-eventbus - 在Application类中订阅Eventbus有什么缺点?

转载 作者:行者123 更新时间:2023-12-04 03:57:29 26 4
gpt4 key购买 nike

我在Android应用程序中使用EventBus。在我的Eventbus.getDefault().register(this)中编写一个Application.onCreate()是一个好主意吗?我没有要进行的UI更新。我正在尝试这样做,以确保即使应用程序进入后台,我也能收到订阅数据。可能还有其他方法可以实现我想要的功能,但是我很好奇这种方法是否有问题。

我的怀疑是:

  • 这会导致某种内存泄漏吗? Eventbus引用了Application对象,而Application对象也依赖于Eventbus。这看起来是循环的。
  • 什么时候注销?不保证可以调用Application.onTerminate()。如果#1不是问题,我想可以忽略Application类中的退订。
  • 最佳答案

    Will this cause some kind of memory leak ? Eventbus is referencing the Application object, and the Application object is also relying on Eventbus. This looks cyclic.



    直接从Application类订阅事件是完全可以的。操作系统将清理应用程序,而EventBus是其中的一部分。没问题。

    When to unregister ? Application.onTerminate() is not guaranteed to be called. If #1 is not an issue, I guess it's fine to ignore unsubscribe in Application class.



    是的,为了完整起见,我也将取消订阅onTerminate。但是您使用的是正确的Android设备,如果清理了应用程序,则一切都将消失,因此无需“清理”。

    关于greenrobot-eventbus - 在Application类中订阅Eventbus有什么缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31798465/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com