Starałem się unikać tworzenia obiektów Realm i zarządzania nimi w mojej aplikacji na Androida dla każdego fragmentu. Myślę, że ThreadLocalVariable może być dobrym początkiem.Jak poprawnie używać Realm
public class RealmInstanceGenerator extends ThreadLocal<Realm> {
public Realm getRealmForMyThread(Context context) {
if(get() == null && context != null)
super.set(Realm.getInstance(context));
return get();
}
public void setRealmForCurrentThread(Context context) {
if(context != null)
super.set(Realm.getInstance(context));
}
@Override
protected Realm initialValue() {
return null;
}
@Override
public void remove() {
if(get() != null) get().close();
super.remove();
}
}
Chciałbym po prostu utworzyć statyczny końcowy przedmiotu RealmInstanceGenerator w moich utils Singleton klasy i wywołać setRealmForCurrentThread w moim główną działalność. Wtedy zadzwonię, usuń, gdy moja aktywność umrze. Dla każdego nowego wątku automatycznie generowany jest nowy obiekt Realm. Czy to dobra strategia?
pisałem [ten przewodnik dla Realm 1.2.0] (https://medium.com/@Zhuinden/basics-of-realm-a-guide-to-using-realm-1-2-0-634471c0fe8f#.sltph3ynl) – EpicPandaForce