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ą) –
- 1. Wątek zwiększa użycie procesora stopniowo
- 2. Dlaczego powiązanie procesora Java jest zależne od procesora?
- 3. Wysokie wykorzystanie procesora w aplikacji java - dlaczego?
- 4. Co oznacza czas procesora Incl, czas procesora, czas rzeczywistego procesora, czas rzeczywistego procesora w trybie śledzenia?
- 5. Wykorzystanie procesora Java VisualVM i powinowactwo procesora
- 6. Na Win32 jak przenieść wątek do innego rdzenia procesora?
- 7. Czy "blokada" zabiera czas procesora?
- 8. Dlaczego park/unpark ma 60% użycia procesora?
- 9. Wykorzystanie procesora jquery
- 10. Używanie procesora z Androidem
- 11. Kod C++ dla obciążenia procesora i temperatury procesora
- 12. Skrypt powłoki do rejestrowania wykorzystania procesora i procesora linuxowego
- 13. Dlaczego widzę "Ta aplikacja nie obsługuje typu procesora tego urządzenia"?
- 14. Maksymalizuj użycie procesora
- 15. Java zmniejszyć zużycie procesora
- 16. rdzenie procesora a wątki
- 17. Couchdb 100% użycia procesora
- 18. Programowanie procesora graficznego Java
- 19. clr.sll! StrongNameSignatureVerification Zużycie procesora
- 20. Obliczanie użycia procesora
- 21. Monitorowanie temperatury procesora
- 22. architektura procesora do montażu
- 23. Statystyki procesora dla wątków w systemie Linux
- 24. Najszybsza konwersja YUV420P na RGBA na iOS przy użyciu procesora
- 25. Dlaczego .NET używa tak dużo procesora, czy to jest problem?
- 26. Używanie OperatingSystemMXBean do pobrania procesora
- 27. uruchamianie skryptów za pomocą procesora
- 28. Eclipse "javaw.exe" Wysokie użycie procesora
- 29. Aplikacja C# - Zmniejszenie wykorzystania procesora
- 30. Użycie procesora iOS dla każdego procesu przy użyciu sysctl()?
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