모든 조각에 대해 내 안드로이드 응용 프로그램에서 영역 객체를 만들고 관리하지 않으려 고했습니다. ThreadLocalVariable이 좋은 시작일지도 모른다.영역을 올바르게 사용하는 방법
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();
}
}
난 그냥 내 유틸 싱글 톤 클래스에 RealmInstanceGenerator의 정적 최종 개체를 만들고 내 MainActivity에 setRealmForCurrentThread을 부를 것이다. 그런 다음 내 활동이 끝나면 제거를 요청할 것입니다. 새 스레드의 경우 새 영역 객체가 자동으로 생성됩니다. 좋은 전략입니까?
내가 [영역 1.2.0이 설명서]를 썼다 (HTTPS ://medium.com/@Zhuinden/basics-of-realm-a-guide-to-using-realm-1-2-0-634471c0fe8f#.sltph3ynl) – EpicPandaForce