2016-07-11 6 views
0

Hallo, ich verwende RecyclerViewPager für meinen Kalender. Ein Artikel der RecyclerViewPager ist match_parent * match_parent, also onCreateViewHolder wird nur einmal aufgerufen, und wenn ich nach links oder rechts schlüpfe dann wird onCreateViewHolder aufgerufen. Da die Ansicht mit SQL-Abfragen ein wenig komplex ist, gibt es eine Möglichkeit, die Ansicht links und rechts vorzubereiten?RecyclerView Adapterpuffer

+0

Vielleicht wäre es besser, wenn Sie ein paar (oder vielleicht alle) der SQL-Abfragen und andere zeitraubende Aufgaben vor dem Rendern der Benutzeroberfläche machen. Wenn der Benutzer die Benutzeroberfläche verschiebt, erhält er eine reibungslosere und konsistentere Benutzererfahrung. –

Antwort

0

Sie sollten Ihre Daten laden, bevor Sie sie mit einer AsyncTask benötigen. Speichern Sie die Daten, die Sie benötigen, direkt vor der Präsentation in Ihrem Recyclerview. Grundsätzlich möchten Sie den Cache aufwärmen, um Ihre Daten bei Bedarf sofort bereitstellen zu können.

+0

Ja, aber das Erstellen der Ansicht selbst ohne Daten zu erhalten, ist ebenfalls zeitaufwendig, aber ich denke, ich sollte die Logik optimieren. – miskohut

+0

Die Idee ist, dass Sie die Daten vor dem Zeitpunkt der View-Erstellung abrufen würden. Auf diese Weise wird die Ausführung der Methode onBindViewHolder schneller, wenn Sie entweder eine neue Ansicht aufblasen/erstellen oder eine Ansicht aus dem Pool recyceln. – apelsoczi