J'essaie de savoir pourquoi mon application utilise une grande quantité de mémoire. Je vois souvent à l'aide entre 15 et 18MO, ce qui est considérablement plus élevé que je ne le pensez. J'ai pris un coup d'oeil à la taille de segment de mémoire via DDMS et vu ceci:
Qui avait l'air un peu suspectes, parce que mon application ne permet pas de traiter avec de grandes images. En fait, la somme totale de l'un drawable dans mon application est d'environ 250KB. J'ai donc créé un tas de vidage et utilisé TAPIS de localiser l'endroit où tout cela de mémoire. byte[] tableaux ont été de loin le plus grand consommateur, de sorte que j'ai foré vers le bas et de remarquer ce qui suit:
Je n'ai absolument aucune idée de pourquoi sPreloadedDrawables est responsable d'une forte retenu la taille du segment. Je n'ai aucune idée de comment faire pour identifier la cause du problème, ou comment "réparer".
Où dois-je aller d'ici? Mon application fonctionne la plupart du temps dans l'arrière-plan par l'intermédiaire des services qui ne traitent pas les données d'image du tout. J'ai les Activités que l'utilisateur peut choisir d'utiliser, mais encore une fois, ils utilisent de petits un drawable qui n'explique pas une telle grande taille de segment de mémoire. J'ai aussi vérifié pour les méchants occurances de l'Activité de fuites etc, mais je n'ai pas de localiser tout.
Des idées?
EDIT: j'ai remarqué que la taille de segment de mémoire est sensiblement plus bas lorsque vous exécutez dans l'émulateur. C'est assez déroutant. :/