0

Ich habe einen RecyclerView-Adapter, der eine geringe Anzahl von Fotos (unter 10) aus dem Speicher lädt und Thumbnails erstellt, und jedes Mal, wenn ich das Gerät rotiere, muss es erneut skaliert werden.Bitmap-Adapter Thumbnails beibehalten

Ich kenne die meisten Adapter die Aktivität oder Fragment kümmert sich um die Hintergrunddaten hängen, aber für diese Instanz ist es möglich, die Miniaturen in den Adapter zu behalten, oder was ist der richtige Weg, wie z wie das, was eine Bildergalerie bei der Drehung mit den Thumbnails machen würde.

Antwort

0

Ich würde vorschlagen, dass Sie eine 3rd-Party-Bibliothek wie https://github.com/bumptech/glide oder http://square.github.io/picasso/ verwenden und dann die Daten zwischenspeichern, wann immer sie benötigt werden. Wenn Sie Glide oder Picasso verwenden, würde ich vorschlagen, dass Sie nichts tun, um die Fragment oder Activity Instanzen beizubehalten, da das Bildlade-Framework dafür sorgt, dass die Bitmaps auf der Festplatte oder im Speicher zwischengespeichert werden - was auch immer Sie bevorzugen.

Glide und Picasso funktioniert gut mit lokal gespeicherten Bildern.

Beide Bilderlade-Frameworks können die Größenänderung von Bildern (z. B. für Miniaturansichten) übernehmen.

Sie könnten wahrscheinlich selbst einen Caching-Mechanismus erstellen, der dasselbe wie Glide oder Picasso machen könnte, aber warum sollten Sie das Rad neu erfinden? :-)

+0

Ich schätze die Vorschläge und ich verstehe total das Rad nicht neu erfinden, aber ich brauche nicht fast die ganze Funktionalität der Bibliotheken. Ich möchte nur wissen, wie Sie eine kleine Reihe von Bildern im Adapter behalten oder zumindest eine Möglichkeit, sie zu behalten und sie schnell an den Adapter zurückzugeben. – Stampede10343

+0

@ Stampede10343 Wenn Sie sich Sorgen um die Größe Ihrer App machen, können Sie 'ProGuard' auf Ihrer APK-Version ausführen, um die Größe der APK auf ein Minimum zu reduzieren. 'ProGuard' kann beispielsweise unbenutzte Methoden entfernen. Du fragst nach etwas, das 'Glide' oder' Picasso' aus dem Kasten hat: Zwischenspeichern und es ist ein ziemlich großer Teil davon, warum sie so populär und weit verbreitet sind. Bedenken Sie auch, dass nur 10 Bilder kleinerer Größe viel Speicherkapazität in Anspruch nehmen, wenn sie nicht korrekt gespeichert werden. – Darwind

+0

Ich bin mir bewusst, aber ich kann einfach nicht externe Bibliotheken verwenden. – Stampede10343