2010-08-20 4 views
1

Je suis aux prises avec certains problèmes que je crois liés à la mémoire de mon application Android, mais je n'arrive pas à comprendre comment obtenir de l'information sur la quantité de mémoire utilisée par mon application.Android profil d'utilisation de la mémoire OpenGL?

Je soupçonne que certaines des textures que je charge ne sont pas effacées par le garbage collector, mais je veux être en mesure de tester avant de commencer à faire aveuglément des changements.

Je rencontre des difficultés avec DDMS depuis des heures, et même si je peux l'obtenir pour se connecter, je ne peux pas faire la tête ou la queue de la sortie. Les allocations semblent seulement me montrer les allocations d'objets de base, alors que ce qui me préoccupe, c'est ce qui se passe avec la mémoire en utilisant des choses comme mes textures openGL et mes fichiers audio.

Tout conseil sur le profilage de l'utilisation de la mémoire dans les applications openGL sur Android serait grandement apprécié, merci!

+0

Quels sont les symboles qui vous font penser que les textures ne sont pas collectées? – CaseyB

+0

Mes transitions de jeu de niveau en niveau. Au cours de ces transitions, je vide généralement 1 texture et en charge une nouvelle. Cela fonctionne pendant un certain temps, mais après une dizaine de transitions, fps commence à tomber. Un autre 5 ou plus je vois des messages dans LogCat: INFO/ActivityManager (1239): Mémoire faible: Plus de processus d'arrière-plan. Alors beaucoup de: DEBUG/Cursor (1239): fillWindow n'est pas exécuté car l'objet Cursor est fermé. Je ne peux pas être sûr que c'est lié à la texture, mais c'est ma meilleure estimation et il doit y avoir un moyen de voir combien de mémoire j'utilise au fil du temps non? – peter

Répondre

2

Avez-vous appelé gldeletetexture sur les textures que vous voulez décharger? vous devez supprimer manuellement votre texture (comme votre fond de niveau et autres) si vous n'envisagez plus de l'utiliser.