代码之家  ›  专栏  ›  技术社区  ›  dev90

向单例类传递上下文的最佳方法是什么

  •  0
  • dev90  · 技术社区  · 7 年前

    我创建了一个执行一些DB操作的单例类,每个活动都将调用这个类,我需要向它传递上下文。

    这是每个活动将要做的。

    AnalyticsWrapper analyticsWrapper= AnalyticsWrapper.getInstance();
    analyticsWrapper.reportView(MainActivity.this)
    

    现在,当我将活动引用传递给单例类时,我对可能出现的错误有点困惑。

    我有几个问题。

    • 什么是好的通行方式 context 到一个长期运行的任务。
    • 我通过会更好吗 getApplicaitonContex() 而不是 MainActivity.this 在这里
    • 当每个活动将其上下文传递给singleton类时,它是否会增加内存,并可能导致内存泄漏。
    1 回复  |  直到 7 年前
        1
  •  1
  •   Tuby    7 年前

    我不认为在DB Singleton中使用应用程序上下文有任何错误,它很可能比活动更有效,所以传递活动上下文会泄漏。很长一段时间以来,我一直在将应用程序上下文传递给数据库实例,但它从未导致内存或功能增加的问题。