Używam Cocos2d 2.0 z włączonym ARC. Moja gra to losowa gra, więc muszę załadować/rozładować tekstury (spritesheet-batchnode) w scenie w środku gry. Próbuję removespriteframesfromfile i usunąć teksturę dla klucza dla arkusza spriteheet, który chcę zwolnić w środku. Kiedy używam dumpcachedtextureInfo po odciążeniu arkusza, tekstura spriteheet nie pojawia się w dziennikach dumpcachedtextureinfo.Szacowanie wykorzystania pamięci w grze Cocos2d
Ale kiedy używam monitora Instrumentów/aktywności do profilowania mojej aplikacji, rzeczywiste użycie pamięci nie spada po rozładowaniu tekstury i arkusza kalkulacyjnego.
Czy istnieje sposób, w którym dumpcachedtextureinfo nie pokaże tekstury, która jest nadal w pamięci? Ponadto kolumna Moje livebytes w alokacjach pokazuje 4 MB.
Również w różnych miejscach czytam, że przydziały nie wyświetlają pamięci tekstury.
Więc moi przydziały żyć kolumna bajtów mówi 4 MB, mój całkowity pamięci tekstur, jak pokazano z kłód dumpcchedtextureinfo pokazano być 84MB, ale fotosy monitora pamięci pokazuje zużycie pamięci rzeczywistej być 84 + wielkość Spritesheet + Live Bajty
Nie jestem w stanie zrozumieć tej różnicy?
Nie opuszczam sceny, więc nie jestem pewien, czy ARC trzyma pamięć, czy co?
Skoro już przy użyciu instrumentów, należy sprawdzić, czy któryś z wielkim Kawałki pamięci wciąż "żyją" i być może wyciekły. Poza tym, być może patrzyłeś na całkowitą kolumnę przydziałów, która nigdy się nie zmniejszy. – LearnCocos2D
Jestem zaniepokojony miarą "Wykorzystanie rzeczywistej pamięci" w ramach monitorowania aktywności. Nie zmniejsza się wcale, nawet po rozładowaniu. Nie mogę zrozumieć, dlaczego tak jest? – user1847220