2016-08-09 30 views
0

Ich muss eine Animation anzeigen, bestehend aus 3 drawable Ressourcen etwa 5 mal pro Sekunde zykliert. Was ich gerade benutze ist ImageView, und die Zeichen werden in ein Bitmap[3] Array vorskaliert geladen. Die ursprüngliche Größe der Ressourcen beträgt 2000x2000 px, und ich habe gelernt, dass ich nur bis zu 500 px herunterskalieren kann, bevor das Bild schrecklich aussieht.Effiziente Methode zum Laden und Anzeigen von Amimation (eine Reihe von Drawable Frames)

Die Animation selbst sieht glatt aus (d. H. Es dauert weniger als 200 ms pro Frame, so dass es keine sichtbare Verzögerung gibt), benötigt aber eine ganze Menge CPU. Und das eigentliche Problem ist das Laden und Skalieren der 3 Bitmaps: Es dauert 2-3 Sekunden.

Ich arbeite jetzt an einer Möglichkeit, das Laden asynchron in einem Hintergrund-Thread zu tun, aber ich frage mich, ob es einen besseren Weg insgesamt gibt. Eine weniger anspruchsvolle CPU, zum einen. Und ich würde auch gerne etwas größere (weniger herunterskalierte) Bitmaps für große Bildschirme mit hoher Dichte verwenden.

Antwort

-1

Aus Ihrer Beschreibung geht hervor, dass das Problem eher in der Größe der Bilder als in der eigentlichen Animation liegt.

Für große Animationen - ich würde vorschlagen, ein Video in einem Format zu kodieren, das allmähliches Laden und Streaming von ihm unterstützt.