Ich bin verrückt geworden mit diesem Android-Fehler und aus dem Durchsuchen der früheren Beiträge über diesen Fehler keine der Lösungen, die gegeben wurden, hat mir geholfen.Android: Bitmap verursacht nicht genügend Speicherfehler
Ich spreche natürlich über den allmächtigen Killer bekannt als der "Android Out of Memory auf einer (NUMBER) -Byte Zuordnung." Ich versuche einen Foto-Uploader zu erstellen und nach dem 3. oder 4. Bild stürzt meine App ab. Ich weiß, um den Absturz zu stoppen, um eine Ausnahme Catch zu verwenden, aber das ist nicht mein Problem. Ich bin hier, um die Community zu fragen, gibt es eine Lösung, um diesen Bytezuordnungsfehler zu beheben?
Hier ist ein Ausschnitt meines Codes mit der Bitmap.
String post = editTextPost.getText().toString().trim();
// get the photo :
Bitmap image = ((BitmapDrawable)postImage.getDrawable()).getBitmap();
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
// compress the image to jpg format :
image.compress(Bitmap.CompressFormat.JPEG, 45, byteArrayOutputStream);
byte[] imageBytes = byteArrayOutputStream.toByteArray();
String encodeImage = Base64.encodeToString(imageBytes,Base64.DEFAULT);
// Recycle bitmap :
image.recycle();
image=null;
// send data :
sendPost p = new sendPost(this);
p.execute(post, encodeImage);
imageBytes=null;
Im nicht alle Bibliotheken verwenden und möchte es aber auch bleiben, wenn eine Bibliothek ist die einzige Option, die ich eine verwenden. Hoffentlich kann jemand helfen.
Ich glaube nicht, dass Recycling das Bild direkt aus dem Speicher entfernt. Es hängt vom Garbage Collector ab. Recycling zwingt es nicht. – hasan83