我正在开发一个android应用程序,它读取长txt文件,分析它们,并创建一个java对象,其中包含从txt文件中提取的一些统计信息。我曾经有一个包含这些对象数组的singleton类,因此在第一次调用singleton类时,它将从存储中的数据文件加载对象数组,但在那之后,它总是将数组放在内存中,而无需每次都从存储器中读取,并允许我从任何活动访问数组。另外,每次分析新的txt时,它都会将statistics对象添加到数组中,并将其序列化到存储中。
现在这种方法对我来说完美无瑕,但我一直在读到,在android中建议避免使用singleton,但我找不到任何其他方法来获得同样的行为。
有没有人能给我一个更好的解决方案或者分享一些数学解释如何解决这个问题?我主要担心的是,我不想在应用程序的使用过程中从存储读取多次,因为这需要额外的几秒钟。
1条答案
按热度按时间xpcnnkqh1#
假设单例模式用于模型的某个方面,而这个方面确实是单例的,那么单例模式本身并没有什么问题。使用静态方法实现单例。进行单元测试的人避免使用静态方法,因为它们不能被模仿或存根。
现在,如果您不想保存数据并在需要时提取数据,那么数据需要存储在内存中,以便随时可用。你可以看看
shared preferences
如果你觉得有用的话。