2011-02-22 2 views
0

Je fais un projet qui gère beaucoup d'images comme arrière-plans, boutons, etc .... parfois "Mémoire insuffisante erreur" (BitMap taille erreur dépassée) se jette et il efface toutes les variables globales. Donc, quand on me réfère à des variables globales, mon application plante. Comment gérer cette situation?Problème de mémoire dans Android

+0

Poster du code? Votre application ne doit pas manquer de mémoire à cause des arrière-plans de vue. Faites-vous autre chose avec Bitmaps que vous chargez manuellement? –

+0

Rien que je fais avec bitmap ... juste en arrière-plan – Kakey

Répondre

0

Vous devez créer de petites images miniatures de vos arrière-plans en plein écran et l'utiliser pour vos arrière-plans de bouton, etc., sinon vous obtiendrez cette erreur en particulier dans l'émulateur 2.3. Les images pour l'arrière-plan de l'activité principale ne doivent pas être plus grandes que nécessaire pour la résolution d'écran donnée.

0

Si le manque de mémoire est une situation que vous pouvez gérer, placez le code incriminé dans un bloc try, catch et faites ce qui est approprié. En fonction de variables de toute envergure pour survivre à la destruction et à la recréation d'une activité, il est impossible de produire un bon comportement. Vos variables globales "disparaissent" parce que l'exception non interceptée provoque ce cycle et se produit dans d'autres circonstances telles qu'un changement d'orientation. Votre code doit être préparé pour enregistrer et restaurer son état comme décrit dans la documentation Activity.