在ORMLite文档it is recommended中为每个活动创建OrmLiteSqliteOpenHelper
。由于获取帮助程序只需要一个Context
对象,为什么不为整个Application
对象创建一次数据库帮助程序?这样就可以使用Dagger(或其他注入框架)将数据库助手注入到需要它的类中。
有没有理由不创建一个应用程序范围的数据库帮助程序?是否最好让每个活动都有自己的数据库助手?我可以想象这会使助手的缓存大小变小,因为缓存只包含与其活动相关的对象。
答案 0 :(得分:4)
在ORMLite文档中,建议为每个活动创建OrmLiteSqliteOpenHelper。
这并不意味着您需要为每个活动提供帮助器的单独的实例。您当然可以/应该在整个申请过程中分享帮助。
引用文档:
我们建议使用OpenHelperManager监视帮助程序的使用情况 - 它将在第一次访问时创建它,每次代码的一部分使用它时跟踪,然后它将关闭上次释放帮助程序的时间。
OpenHelperManager
创建并管理帮助者 singleton 。
如果您指出我在文档中指出每个活动需要不同的一个点,我会调整它们吗?