Je suis Tring pour obtenir l'image de la galerie (par intention).
J'ai eu cette erreur:Bitmap de mémoire
985120-byte external allocation too large for this process.
Out of memory: Heap Size=4871KB, Allocated=2472KB, Bitmap Size=19677KB
VM won't let us allocate 985120 bytes
C'est mon code où je reçois l'image:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
....
mBitmap = Media.getBitmap(this.getContentResolver(), data.getData());
...
}
Comment puis-je résoudre?
MISE A JOUR -------- ---------
Je remarque que si je sélectionne une image pré-existante (photo HTC installé) Je reçois cette erreur. Si je choisis l'image choisie de la caméra tout fonctionne bien.
Alors, je change mon code selon cette http://developer.android.com/training/displaying-bitmaps/load-bitmap.html:
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
InputStream stream = getContentResolver().openInputStream(data.getData());
mBitmap = BitmapFactory.decodeStream(stream,null,options);
stream.close();
Mais maintenant, le bitmap est NULL !!!
double possible de http://stackoverflow.com/questions/6118464/android-out-of-memory-error-bitmap-is-too-big?rq=1 – Ridcully
options.inJustDecodeBounds = true; avec cela, vous ne décoderez que la taille de l'image bitmap, ne l'allouez pas, c'est pourquoi c'est nul. Essayez d'utiliser options.inScale pour réduire la taille de l'image bitmap. –
http://stackoverflow.com/a/4665992/1615280 – bjorncs