【问题标题】:How to avoid singleton in Android如何在 Android 中避免单例
【发布时间】:2020-09-06 14:42:17
【问题描述】:

我正在开发一个 android 应用程序,它可以读取长 txt 文件,分析它们并创建一个 java 对象,其中包含从 txt 中提取的一些统计信息。 我曾经有一个单例类,其中包含这些对象的数组,因此在第一次调用单例类时,它会从存储中的数据文件加载对象数组,但之后它总是在内存中没有数组每次都需要从存储中读取,并允许我从任何活动中访问数组。 此外,每次分析新的 txt 时,它都会将统计对象添加到数组中并将其序列化到存储中。

现在这种方法对我来说完美无缺,但我一直在阅读,建议在 android 中避免使用单例,但我找不到任何其他方法来获得相同的行为。

有人可以建议我一个更好的解决方案或分享一些数学解释如何解决这个问题吗? 我主要担心的是,我不想在使用应用程序期间多次从存储中读取数据,因为这需要额外的几秒钟。

【问题讨论】:

    标签: java android singleton


    【解决方案1】:

    单例模式本身并没有什么问题,假设它被用于模型的某些方面,它是真正的单例。 单例使用静态方法实现。进行单元测试的人会避免使用静态方法,因为它们不能被模拟或存根。

    现在,如果您不想保存数据并在需要时获取数据,则数据需要在内存中始终可用。 觉得有用的可以关注shared preferences

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-30
      • 1970-01-01
      相关资源
      最近更新 更多