Anzeige big image von der SD-Karte in Android
In Android, wie das anzeigen eines Bildes (jeder Größe) von der SD-Karte, , ohne eine " out of memory Fehler?
Ist es notwendig, um das Bild in das Media-Store?
Einer pseudo-code-Beispiel wäre sehr dankbar. Extra-Punkte, wenn das angezeigte Bild wird so groß wie der Speicher des Geräts ermöglicht.
- versuchen Sie Folgendes, dass Google empfohlen: developer.android.com/training/displaying-bitmaps/index.html
Du musst angemeldet sein, um einen Kommentar abzugeben.
Edit: diese Frage wurde tatsächlich bereits beantwortet Seltsam out-of-memory-Problem beim laden von einem Bild zu einem Bitmap-Objekt (die beiden höchsten gestimmt Antworten). Es auch funktioniert, verwenden Sie die
inSampleSize
option, aber mit einer kleinen Methode, um automatisch den entsprechenden Wert.Meiner ursprünglichen Antwort:
Den
inSampleSize
desBitmapFactory.Options
Klasse lösen Ihre Problem (http://developer.android.com/reference/android/graphics/BitmapFactory.Options.html#inSampleSize). Es funktioniert, indem Sie eine bitmap mit die resultierende Breite und Höhe 1/inSampleSize
als das original, wodurch der Speicherverbrauch (voninSampleSize
^2?). Sie sollten Lesen Sie den doc, bevor es zu benutzen.Beispiel:
Doch hier ist es funktioniert nur für Bilder, ich denke,
inSampleSize
^2 mal die Größe des erlaubten Speichers und verringern die Qualität der kleinen Bilder.Der trick wäre, den passenden zu finden inSampleSize.
Ich bin Anzeige jede Größe der Bilder mit code:
Beispiel:
http://www.developer.com/ws/other/article.php/3748281/Working-with-Images-in-Googles-Android.htm umfasst alles, was Sie jemals wissen müssen über das Thema der Bilder, darunter immer Sie von einer SD-Karte. Sie werden bemerken, den code so zu tun dort unten kopiert: