mcfly
- Forum-Beiträge: 286
22.10.2011, 08:51:34 via Website
22.10.2011 08:51:34 via Website
Hallo zusammen
Ich habe ein Performance-Problem bei zeichnen von Bitmaps und weiss nicht , ob ich eventuell was falsch mache.
Ich habe eine eigene View und schiebe dort BIlder ( etwa 50 ) mit Grössen zwischen 30-80 pixels auf dem Bildschirm herum. Die Grössen der Bilder können sich mit der Animation ändern.
Wenn ich die Bilder von der SD-Card geladen habe, cache ich diese, damit ich nicht immer wieder von der SD-Card lesen muss.
Das Ganze ist aber trotzdem noch ruckelig, darum frage ich mich ob das eleganter geht.
Kann jemand anhand meiner Operationen unten erkennen, ob ich was optimieren ( oder grundsätzlich anderst ) machen könnte ?
Grüsse
Lesen des Bildes :
Wenn mal geladen cachen des Bildes :
Skalieren des Bitmaps:
Zeichnen des skalierten Bitmaps:
Ich habe ein Performance-Problem bei zeichnen von Bitmaps und weiss nicht , ob ich eventuell was falsch mache.
Ich habe eine eigene View und schiebe dort BIlder ( etwa 50 ) mit Grössen zwischen 30-80 pixels auf dem Bildschirm herum. Die Grössen der Bilder können sich mit der Animation ändern.
Wenn ich die Bilder von der SD-Card geladen habe, cache ich diese, damit ich nicht immer wieder von der SD-Card lesen muss.
Das Ganze ist aber trotzdem noch ruckelig, darum frage ich mich ob das eleganter geht.
Kann jemand anhand meiner Operationen unten erkennen, ob ich was optimieren ( oder grundsätzlich anderst ) machen könnte ?
Grüsse
Lesen des Bildes :
1mybitmap = BitmapFactory.decodeFile(appprop.getsImagesPath() + sImage);
Wenn mal geladen cachen des Bildes :
1hashmapbitmapcacher.put(BitmapID, mybitmap);
Skalieren des Bitmaps:
1bMapScaled = Bitmap.createScaledBitmap(mybitmap , iSize, iSize, true);
Zeichnen des skalierten Bitmaps:
1mycanvas.drawBitmap(bMapScaled, X, Y, paint);
— geändert am 22.10.2011, 08:52:06
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.