Czasami, gdy ładuję widok tabeli, a celowo nie wykonuję żadnej czynności poza wyświetleniem widoku tabeli, poczekam kilka sekund, a następnie wzrośnie użycie mojego procesora. Jak mogę znaleźć przyczynę?Profil procesora iOS: Dlaczego ten wątek może wysysać 99,9% procesora?
Odpowiedz
Dlaczego może to być wątek ssanie aż 99,9% CPU?
Nie wiem. Ale oto kilka myśli:
- Odpowiedzialna biblioteka to
UIKit
. Wygląda więc na to, że jakiś kod interfejsu użytkownika jest uszkodzony. - Funkcja o nazwie
FreeContextStack
działa przez długi czas. pthread_once
ipthread_getspecific
zajmują znaczną ilość czasu. Te funkcje są szybkie, więc często muszą być uruchamiane bardzo.- Są częścią
GetContextStack
iPopContext
Wydaje się, że w kodzie nie jest jakiś „kontekst” stos pchanych, ale nie pojawiło. Poszukuję wystąpień UIGraphicsPushContext
lub UIGraphicsBeginImageContext
bez ich zamykających odpowiedników.
Ale mogę być całkowicie wyłączony i te funkcje nie są częścią kodu kontekstowego grafiki.
Np. Może być tak, że kontekst A jest dzieckiem kontekstu B, który jest dzieckiem kontekstu A ... –
Dokładnie! Brakowało 'UIGraphicsEndImageContext()' i 'CGImageRelease (imageRef)'. –
Widziałem to samo. Miał ten sam problem. Dziękuję internetowi smarty! – voidref
Jest to możliwe nie jesteś kończąc swój UIGraphicsBeginImageContext
Rozwiązałem to samo dodając UIGraphicsEndImageContext
po użyciu.
(Rudi, pojawiłeś się w kolejce postów o niskiej jakości, ponieważ twoja odpowiedź wyglądała jak "mam ten sam problem", więc trochę zmieniłem frazę - mam nadzieję, że będzie dobrze z tobą) –
Przypuszczam, że jest w pętli "nieskończonej". W tym przypadku jest prawdopodobne, ponieważ pamięć masowa została sfałszowana, chociaż możliwe, że w jakiś sposób opisałeś strukturę danych kołowych, która jest teraz nawigowana. –
Myślę, że potrzebujemy więcej szczegółów (wersja na iOS, a więc czwarta). I to prawdopodobnie i nieskończona pętla, jak powiedział @HotLicks. – Idris
Odwróć drzewo wywołań i spróbuj znaleźć szkodliwą metodę/funkcję. Brzmi jak problem z UIKit/rysowaniem. – duci9y