Aktualnie mam aplikację, w której głównym problemem z wydajnością jest używanie opartej na plikach bazy danych składającej się z odpowiedzi JSON.Wybieranie projektu ORM dla systemu Android (min. Poziom API 7)
Chciałbym przerobić moją aplikację, aby korzystać z funkcji bazy danych SQLite.
Ponieważ jestem leniwy, chciałbym użyć jakiejś formy ORM.
Jak dotąd znalazłem tylko dwie wielkie biblioteki ORM:
Moim głównym celem jest wydajności raise na pracę z danymi tak jak możliwe
Ale znalazłem dwa możliwe problemy z tymi bibliotekami.
ORMLite wykorzystuje adnotacje, co jest dużym problemem wydajność w pre-plastra miodu powodu this bug
GreenDAO używa jakiś generator kodu, i że będzie zwalniać mnie na rozwoju, Musiałbym napisać generator, a następnie użyć wygenerowanego kodu. I nie podoba mi się ten pomysł.
db4o jest JPA, które zawsze uważane za powolny i ciężki na zużycie pamięci, dlatego nie nadają się do urządzeń low-end (pamiętaj Android API v7)
ad @ ChenKinnrot:
Szacowany ładunek powinien wystarczyć, aby myśleć o użyciu ORM.
W moim przypadku jest to około 25-30 unikalnych tabel i co najmniej 10 łączeń tabel (2 - 4 tabele na raz). Około 300-500 unikalne pola (kolumny)
Więc moje pytania to:
- powinienem używać ORM/WZP warstwy aplikacji w Android?
- Jeśli tak, to jakiej biblioteki poleciłbym używać? (i należy dodać kilka argumentów zbyt)
Ile stołów mówimy? jak duże są twoje dane? –
Po prostu dla zapisu, ORMLite obsługuje również konfigurację tabel dla typów, które działają w związku z problemami z wydajnością adnotacji. – Gray
@ Dobrze jest usłyszeć, że jeśli jesteś zainteresowany, możesz wysłać odpowiedź z przykładem i porównaniem, ponieważ jesteś odpowiednią osobą, która powinna mieć te dane. –