Je reçois la fameuse erreur de mémoire. Mais j'ai essayé beaucoup de solutions suggérées sur ce problème sans n'importe quelle chance. Je comprends que pour empêcher un bitmap de dépasser la mémoire, vous faites une variable statique du drawable (docs Android). Mais cela ne fonctionne pas dans mon application parce que j'ai autant de marqueurs que vous pouvez voir ..Bitmap Android hors erreur de mémoire (mapviewBalloons)
Quelqu'un at-il une suggestion à une solution?
for(Poi p : poiarray){
WeakReference<Bitmap> bitmap = new WeakReference<Bitmap>(p.get_poiIcon());
if(bitmap!=null){
Drawable marker = new BitmapDrawable(Bitmap.createScaledBitmap(bitmap.get(), 60, 60, true));
annotationOverLays.add(new CustomAnnotation(marker,p,this,mapView));
//mapView.getOverlays().add(new CustomAnnotation(marker,p,this,mapView));
}
}
mapView.getOverlays().addAll(annotationOverLays);
ERREUR:
05-23 13:08:31.436: E/dalvikvm-heap(22310): 20736-byte external allocation too large for this process.
05-23 13:08:31.436: E/dalvikvm(22310): Out of memory: Heap Size=23111KB, Allocated=22474KB, Bitmap Size=1505KB
05-23 13:08:31.436: E/GraphicsJNI(22310): VM won't let us allocate 20736 bytes
EDIT:
Je pense que je l'ai peut-être localisé le problème .. Je peux déclencher cette exception OutOfMemory si je clique sur plusieurs des annotations. J'utilise le mapViewBalloons de Here, et quand j'ai ouvert fermé 2 plusieurs fois, mon application se bloque à l'exception. Quelqu'un a un problème similaire?