W dokumentacji ORMLite it is recommended, aby utworzyć OrmLiteSqliteOpenHelper
dla każdej aktywności. Ponieważ uzyskanie helpera wymaga tylko obiektu Context
, dlaczego nie utworzyć helpera bazy danych raz dla całego obiektu Application
? To otwiera możliwość wstrzyknięcia pomocnika bazy danych za pomocą Daggera (lub innych struktur wtryskowych) do klas, które tego potrzebują.Dlaczego nie wiązać OrmLiteSqliteOpenHelper do aplikacji zamiast działalności?
Czy istnieje powód, aby nie tworzyć pojedynczego pomocnika bazy danych dla całej aplikacji? Czy preferuje się, aby każde działanie miało własny helper bazy danych? Mogę sobie wyobrazić, że dzięki temu rozmiar pamięci podręcznej helpera jest mały, ponieważ pamięć podręczna zawiera tylko obiekty związane z jego działaniem.
Nie ma jednoznacznego stwierdzenia, że każdy obiekt powinien mieć odrębne instancje '' OrmLiteSqliteOpenHelper'''. Właśnie znalazłem przykłady promujące tę strategię. Nie powinienem twierdzić w moim pytaniu, że dokumentacja wyraźnie zaleca w ten sposób. –
Np @LarsBlumberg. Daj mi znać, jeśli dokumenty (lub przykłady) muszą zostać zmienione, aby lepiej to odzwierciedlić. – Gray