5

ORMLite のドキュメントでは、 for every アクティビティを作成することが推奨されています。OrmLiteSqliteOpenHelperヘルパーを取得するにはオブジェクトのみが必要なので、Contextオブジェクト全体に対して一度データベース ヘルパーを作成しないのはなぜApplicationですか? これにより、Dagger (または他の注入フレームワーク) を使用してデータベース ヘルパーを必要なクラスに注入する可能性が開かれます。

アプリケーション全体のデータベース ヘルパーを 1 つだけ作成しない理由はありますか? すべてのアクティビティに独自のデータベース ヘルパーを持たせることが望ましいですか? キャッシュにはそのアクティビティに関連するオブジェクトのみが含まれているため、これによりヘルパーのキャッシュ サイズが小さく保たれることが想像できます。

4

1 に答える 1

4

ORMLite のドキュメントでは、すべてのアクティビティに対して OrmLiteSqliteOpenHelper を作成することが推奨されています。

これは、アクティビティごとにヘルパーの個別のインスタンスが必要であることを意味するものではありません。アプリケーション全体でヘルパーを共有できる/共有する必要があります。

ドキュメントから引用するには:

OpenHelperManager を使用してヘルパーの使用状況を監視することをお勧めします。最初のアクセス時に作成され、コードの一部がそれを使用するたびに追跡され、最後にヘルパーがリリースされたときに閉じます。

OpenHelperManagerヘルパーsingletonを作成および管理します。

アクティビティごとに別のものが必要であることを示すドキュメントのポイントを教えていただければ、微調整しますか?

于 2013-12-18T14:47:11.160 に答える