RecyclerView und asynchrone Laden

Ich habe ein kleines problem. Brauche einen Schubs in die richtige Richtung.
Ich bin ein video-editor wie Vine und/oder instagram. Wo Sie zeigen eine Zeitleiste mit screencaps aus dem video
RecyclerView und asynchrone Laden

Es fügt nur mehr Bilder, die je auf den videos Dauer. Was habe ich für meine app, die ich Hinzugefügt ein recyclerView. Diese recyclerview hat einen adapter, der ruft die folgende Funktion jedes mal onBindViewHolder

  public Bitmap getFrameFromCurrentVideo(int seconds) {
    Bitmap bitmap = null;
    if(mMediaMetadataRetriever != null) {
      bitmap = mMediaMetadataRetriever.getFrameAtTime(seconds * 1000000, MediaMetadataRetriever.OPTION_CLOSEST);
    }
    return bitmap;
  }

Dies funktioniert, und es fügt die richtige Menge der Bilder, die ich will. Aber das problem ist, dass es zu schwer ist auf dem UI-thread. Da die recyclerView ist recycling alles. Dann lags jedes mal, wenn es ein frame ist.

Also dachte ich, dass ich zu tun haben einige async-task und dann den cache der Bilder. Aber was ich gelesen habe ist, dass AsyncTask wird nicht empfohlen für die recycler gesehen, da es recycelt.

Also, was soll ich tun, um enchance die Leistung? Jede gute Idee?

  • Ich bin mir nicht sicher. Haben Sie versucht, mit Gleiten, bis die Bilder geladen? Glide automatisch Zwischenspeichern der Bilder.
InformationsquelleAutor Jemil Riahi | 2016-07-26
Schreibe einen Kommentar