2010-05-21 2 views
1

J'ai un jeu Android qui a une activité pour le menu, puis une autre activité pour le jeu qui crée un SurfaceView et Thread pour faire face à dessin toile et la logique du jeu. Lorsque vous quittez le jeu et lancez à nouveau trop ou si vous ouvrez et fermez le clavier (relançant ainsi l'activité), le jeu court de mémoire, généralement lors du chargement d'un bitmap:Mon jeu Android manque de mémoire quand il est fermé et ouvert et quelques fois

java.lang.OutOfMemoryError: bitmap size exceeds VM budget 

Comment puis-je garder toutes mes images en mémoire sans les recharger quand le jeu change d'état, ou comment puis-je les libérer de la mémoire et les laisser recharger quand le jeu est redémarré?

Répondre

0

Comment chargez-vous et libérez-vous les images actuellement?

Trouvé ce resource

« Essayez de ne pas charger l'image dans un tableau d'octets avant de passer à la BitmapFactory mais passe plutôt le InputStream directement au BitmapFactory. Il y a une limite à la taille d'une image "

1

avez-vous configuré android: launchMode dans votre manifeste? Si vous ne l'avez pas fait et que vous ne traitez pas explicitement le retour à l'activité d'origine dans onResume/onStart, vous obtiendrez probablement plusieurs copies de votre activité de jeu en même temps.

Vous pouvez regarder les différentes options pour here launchMode

+0

J'ai essayé toutes les combinaisons de launchMode pour mes deux activités, mais le problème persiste. – cstack

0

Votre contexte peut être une fuite. This devrait aider.

Questions connexes