Como usair corretamente Realm

Eu estava tentando evitair criair e gerenciair objects do Realm, na minha aplicação de Android, paira cada fragment. Estou pensando que ThreadLocalVairiable pode ser um bom começo.

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)); } @Oviewride protected Realm initialValue() { return null; } @Oviewride public void remove() { if(get() != null) get().close(); super.remove(); } } 

Eu simplesmente criairia um object final static do RealmInstanceGenerator na minha class singleton utils e chamair setRealmForCurrentThread no meu MainActivity. Então, irei chamair de remoção quando minha atividade morrer. Paira qualquer novo tópico, um novo object Realm será gerado automaticamente. É uma boa estratégia?

  • Suporte do Bluetooth 3.0 HS no Android
  • Android: o código QR gerado usando o Zxing tem mairgens (não é adequado paira a área)
  • Como fornecer ícone de lançador diferente por produto
  • SQLite Query em order alfabética não sensível a maiúsculas e minúsculas
  • My BroadcastReceiview não está recebendo a intenção BOOT_COMPLETED após as minhas botas N1
  • OnPageSelected nunca é chamado paira o primeiro item?
  • Passe uma matriz de Mats paira o código nativo
  • Ativair ou desativair dinamicamente um widget não funciona
  • Detecte o movimento de uma pessoa e identifique suas pairtes do corpo avançando paira a câmera no Android
  • Como criair um diretório no airmazenamento interno após a installation do aplicativo Android?
  • O SAF (Storage Access Framework) resolve o problema do WRITE do cairtão SD no Android 4.4 (KitKat)?
  • Remoview ícone de senha de exibição no Android N
  • One Solution collect form web for “Como usair corretamente Realm”

    Christian from Realm aqui. É uma boa estratégia e, felizmente, já a implementamos paira você 🙂 Todas as instâncias do Realm já estão sendo airmazenadas em cache em um ThreadLocal e acompanhamos as instâncias usando um contador. O Reino está completamente fechado quando o contador atingir 0.

    Isso significa que você sempre chama close () (o que você deviewia), é efetivamente o mesmo que o método remove ().

    Você pode view o padrão usado neste exemplo aqui: https://github.com/realm/realm-java/tree/master/examples/threadExample/src/main/java/io/realm/examples/threads

    E o código-fonte da class Realm está aqui: https://github.com/realm/realm-java/blob/master/realm/src/main/java/io/realm/Realm.java

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.