Próbuję zawinąć mój umysł wokół problemu (nie udało mu się w this question). Kontekst to: turowa gra, opracowana przy pomocy cocos2d w wersji 2.0, obj-c, bez ARC, obecnie przygotowująca aktualizację AppStore do konta z niektórymi problemami z iOS 7 (moje, nie iOS7).Wzrost stałej pamięci aplikacji (IOAccelResource)
Moje własne oprzyrządowanie, jak również Instrumenty, nie wykazują żadnych nieszczelności, nie opuszczają pamięci, nic ... płaskiego. Tak było również w przypadku iOS 4,5,6.1. Jednak w moim testowym wyniszczeniu przed przesłaniem, podczas profilowania na urządzeniu widzę wzrost o 1 Mb na 2 minuty, gdy gra siedzi bezczynnie, tj. Bez interakcji użytkownika (patrz rysunek poniżej).
Jedyne co widzę to ta kategoria IOAccelResource działa amuck pomiędzy wychwytywania generacji.
- Czy masz jakieś sugestie, co to może być?
- Nie mogę znaleźć wiele informacji na temat IOAccelResource ... Czy ktokolwiek z was może wskazać mi właściwy kierunek czytania? Jeśli rzeczywiście jest to związane z cocos2d, nie miałbym nic przeciwko kopaniu tam, ale nie wiem, gdzie zacząć szukać.
Chciałbym również uruchomić kompilację "tak blisko wydania", jak to możliwe, i nadal będę w stanie zmierzyć ślad pamięci w czasie. Czy mógłbyś zaproponować mi metodę pomiaru wielkości procesu?
tia.
Mam taki sam problem z grą Cocos2d-x 2.2 zakodowaną w C++ i Objective C++. Nie mogę dowiedzieć się, skąd się bierze :( –
@CoryTrese zobacz moją odpowiedź poniżej: bieżące wydanie i monitorowanie wielkości procesu z zewnątrz wyglądające, rozmiar procesu jest stabilny ... ta sama podstawa kodu, to samo wszystko oprócz: brak debugowania, zoptymalizowany dla rozmiar i szybkość – YvesLeBorg
Mam do czynienia z tym samym problemem, różnica polega na tym, że używam 'OpenGL ES'. Tak, myślę, że nawet jeśli usunąłeś związek między' UIAccelerometer' i 'Cocos2D' i chociaż obserwujesz rosnącą alokację wykres, to prowadzi mnie do wniosku, że nie ma problemu nawet z 'OpenGL' .Jednak jest jedna rzecz, o której wspomniałeś w poniższym komentarzu to' DisplayLink', który może być częścią wspólną zarówno dla 'Cocos2d' i' OpenGL ES 'do renderowania grafiki na ekranie.Jeśli tak jest, to jest błąd z iOS lub Instrumentem. – sam18