Android Bilderstellung langsam

Jhue89

Bekanntes Mitglied
Hallo Zusammen,

ich hab hier ein kleines Problem und bin mir nicht sicher wie ich es am besten lösen kann.

Ich lese mir über SMB eine Bild Datei aus und möchte mir diese dann anzeigen lassen. das dauert bei einer Größe von 130kb circa 1-2 Sekunden.

Code:
private Bitmap getSMBBoxImage(String FName) {
        Bitmap bitmap = null;
        if (Anlage.samba.isValid()) {
            BxLog.i(TAG,"SMB valid " + Anlage.samba.isValid()+ FName);
            try {
                SmbFileInputStream iS = Anlage.samba.createSmbGraphicsInputStream(FName);
                if (iS != null) {
                    
                    bitmap = BitmapFactory.decodeStream(iS);
                    iS.close();
                }
            } catch (Exception e) {
             
                BxLog.d(TAG, "SMB access error");
                bitmap = null;
            }
        }      
        return bitmap;
    }

Ich bin mir grade nicht ganz sicher, ob es an dem SMB zugriff oder an dem decodeStream liegt. Aber ich vermute letzteres.
Wenn ich die Option inSampleSize auf 2 setze, geht es schon merklich schneller, aber ich brauche die Auflösung.

Habt ihr eine Idee wie ich die ganze Geschichte Performanter gestalte?
 

Oneixee5

Top Contributor
Du kannst einen BufferedInputStream verwenden.
Außerdem sind InputStream AutoClosable. Im Fehlerfall wird der SmbFileInputStream nicht geschlossen. Es ist auch ziemlich fragwürdig im Fehlerfall einfach null zurückzugeben, als wäre nichts gewesen.
 

Ähnliche Java Themen

Neue Themen


Oben