J'ai une application qui utilise un certain nombre de graphiques. Lorsque j'ouvre et ferme mon application de manière répétée sur mon émulateur (1.5 - 2.2), il fonctionne bien et en vérifiant le tas, je peux voir que tout est nettoyé et gc'd correctement.Raisons pour lesquelles mon application Android planterait sur mon téléphone de manière cohérente, mais pas sur mon émulateur
Cependant, lorsque je lance mon application sur un téléphone HTC Aria (2.1), l'application se bloque chaque fois que j'essaie de l'ouvrir de nouveau. Quand je regarde le tas, je peux voir que les objets ne sont pas nettoyés comme ils le sont dans l'émulateur.
Est-ce que quelqu'un sait pourquoi ce comportement pourrait se produire? Je l'ai essayé sur un autre HTC Aria (un ami) et il s'est écrasé de la même manière que sur mon téléphone, donc je pense que ce n'est pas seulement isolé sur mon téléphone particulier.
Des idées ou des idées seraient vraiment appréciées sur la raison pour laquelle les choses sont nettoyées correctement sur l'émulateur, mais pas sur mon téléphone. Une chose à noter, c'est que je l'ai fait fonctionner et bien sur mon téléphone il ya quelques jours et je n'ai pas beaucoup changé et maintenant il ne fonctionne pas sur mon téléphone, donc c'est un peu un mystère pour moi.
Merci! Remarque:
Le plantage est dû à une exception OutOfMemory. Je suis en train de pré-charger une poignée de graphiques, et il n'y a pas assez de mémoire pour que deux instances de l'application s'exécutent en même temps, ce qui plante car la première instance de l'application n'a pas été nettoyée correctement.
Afficher la pile après la panne – Falmarri
Avez-vous des ressources statiques quelque part? Ou instance statique de singleton, qui contient l'application entière même après la fermeture de l'activité? Effacer toutes ces références dans onDestroy(), cela pourrait aider. – tomash
Je n'ai pas de ressources statiques à part quelques entrées statiques que j'utilise pour une machine d'état. D'autres pensées? – justinl