2017-10-16 3 views
1

Ich bin mir nicht sicher, ob ich aus der Dokumentation verstehe, wie ich die Lazy List verwenden soll.ObjectBox LazyList Verhalten

  1. Was der Unterschied zwischen findLazy() und findLazyCached() die Funktionsbeschreibung ist genau das gleiche.
  2. Soll ich zuerst eine find() Abfrage durchführen und dann findLazy() verwenden?

Beispiel der Verwendung:

 Box<FastCacheData> box = box.boxFor(FastCacheData.class); 
     LazyList<FastCacheData> build = box.query().build().findLazy(); 
+0

Haben Sie einen Link zur Dokumentation? – Xiao

+0

Sicher http://objectbox.io/documentation/queries. Lazy Loading Ergebnisse Abschnitt – motis10

Antwort

2

was die verschiedenen zwischen findLazy() und findLazyCached() die Funktionsbeschreibung ist genau das gleiche.

Beide geben ein LazyList, das nur die Mitgliedsobjekte geladen werden, da sie jeweils zugegriffen wird. Der Unterschied zwischen den beiden ist, dass die zwischengespeicherte Version das Objekt zwischenspeichert, so dass weitere Zugriffe nicht zu zusätzlichen Ladevorgängen führen - die nicht zwischengespeicherte Version lädt jedes Mal ein neues Objekt.

Sollte ich einen find() Abfrage ersten Mal und nur dann findLazy verwenden()

Es ist eine Frage, wann Sie das Laden geschehen soll. Wenn Sie möchten, dass das Ganze geladen wird, wenn der Anruf find() erfolgt, verwenden Sie den Anruf find(). Wenn Sie das Laden auf den Zeitpunkt des Zugriffs auf die Daten verschieben möchten, verwenden Sie den Aufruf findLazy().