我試圖避免創建和管理Realm對象,在我的Android應用程序中,爲每個片段。我認爲ThreadLocalVariable可能是一個好的開始。如何正確使用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();
}
}
,我只想在我的utils的單例類創建RealmInstanceGenerator的靜態最終目標,並呼籲setRealmForCurrentThread在我的MainActivity。然後我會在我的活動消失時致電刪除。對於任何新的線程,將自動生成一個新的Realm對象。 這是一個好策略嗎?
我寫了[本指南境界1.2.0(HTTPS:/ /medium.com/@Zhuinden/basics-of-realm-a-guide-to-using-realm-1-2-0-634471c0fe8f#.sltph3ynl) – EpicPandaForce