Java-Android-继承函数或公共静态函数

Java-Android-继承函数或公共静态函数,java,android,performance,inheritance,static-methods,Java,Android,Performance,Inheritance,Static Methods,我所有的活动都可以访问数据库,这是一个懒惰的单例。所有活动都派生自BaseActivity类。BaseActivity检查并在需要时初始化数据库 我正在考虑将db初始化代码块(这项工作可能很繁重)放在BaseActivity类中,或者将其作为公共静态函数(在其他类中) db初始化代码块不仅初始化数据库,而且初始化其他惰性单例 这会改变我的应用程序性能吗?哪一个是好的结构? 谢谢。如果你正在使用DB跨所有的尝试,考虑它在应用程序级别比活动级别声明。你考虑使用任何DI框架吗?然后,您可以使用常规类D

我所有的活动都可以访问数据库,这是一个懒惰的单例。所有活动都派生自BaseActivity类。BaseActivity检查并在需要时初始化数据库

我正在考虑将db初始化代码块(这项工作可能很繁重)放在BaseActivity类中,或者将其作为公共静态函数(在其他类中)

db初始化代码块不仅初始化数据库,而且初始化其他惰性单例

这会改变我的应用程序性能吗?哪一个是好的结构?
谢谢。

如果你正在使用DB跨所有的尝试,考虑它在应用程序级别比活动级别声明。你考虑使用任何DI框架吗?然后,您可以使用常规类
DBhelper
完成所有繁重的工作,并且可以在需要时注入它。Cowe将更干净、更易于调试。@sumandas谢谢您,但应用程序android类与singleton模式是一个有争议的话题。我更喜欢懒惰的单例而不是应用程序类;)在理想世界中,每个班级解决一个问题。最好将数据库的代码保存在自己的类中。请查看这个模式:@ USE902483:我正在使用<代码> SqLeLeOpenHelpP>代码>如果您正在使用DB跨行尝试,考虑它在应用程序级别比活动级别声明。您考虑使用任何DI框架吗?然后,您可以使用常规类
DBhelper
完成所有繁重的工作,并且可以在需要时注入它。Cowe将更干净、更易于调试。@sumandas谢谢您,但应用程序android类与singleton模式是一个有争议的话题。我更喜欢懒惰的单例而不是应用程序类;)在理想世界中,每个班级解决一个问题。最好将数据库的代码保存在自己的类中。检查此模式:@user902383我正在使用
SQLiteOpenHelper