2014-07-24 3 views
9

कभी-कभी जब मैं टेबल व्यू लोड करता हूं, और मैं टेबल व्यू शो को छोड़कर जानबूझकर कोई गतिविधि नहीं कर रहा हूं, तो मैं कुछ सेकंड प्रतीक्षा करूंगा और फिर मेरा सीपीयू उपयोग शूट हो जाएगा। मैं कारण कैसे ढूंढ सकता हूं?आईओएस सीपीयू प्रोफाइल: यह धागा 99.9% सीपीयू क्यों चूस रहा है?

enter image description here

+0

मुझे लगता है कि यह एक "अनंत" लूप में है। इस मामले में संभावित रूप से भंडारण मिल गया है, यद्यपि संभवतः क्योंकि आपने किसी भी तरह से एक परिपत्र डेटा संरचना का वर्णन किया है जिसे अब नेविगेट किया जा रहा है। –

+0

मुझे लगता है कि हमें अधिक जानकारी (आईओएस संस्करण और चौथाई) की आवश्यकता होगी। और यह संभवतः और अनंत लूप है @ होट्लिक्स ने कहा। – Idris

+0

कॉल पेड़ को घुमाएं और अपमानजनक विधि/फ़ंक्शन ढूंढने का प्रयास करें। UIKit/ड्राइंग समस्या की तरह लगता है। – duci9y

उत्तर

15

क्यों इस सूत्र 99.9% सीपीयू को चूसने जा सकता है?

मुझे नहीं पता। लेकिन यहां कुछ विचार हैं:

  1. जिम्मेदार लाइब्रेरी UIKit है। तो ऐसा लगता है कि कुछ यूजर इंटरफेस कोड टूटा हुआ है।
  2. FreeContextStack नाम का एक फ़ंक्शन लंबे समय तक चल रहा है।
  3. pthread_once और pthread_getspecific काफी समय लेते हैं। ये कार्य तेज़ हैं, इसलिए उन्हें बहुत अक्सर चलाना पड़ता है।
  4. वे GetContextStack और PopContext

का हिस्सा हैं ऐसा लगता है अपने कोड में की "संदर्भ" ढेर किसी प्रकार का धक्का दिया, लेकिन किया जा रहा पॉपअप नहीं दिया गया है। मैं उनके बंद समकक्षों के बिना UIGraphicsPushContext या UIGraphicsBeginImageContext की घटनाओं की तलाश करूंगा।

लेकिन मैं पूरी तरह से बंद हो सकता हूं और वे कार्य ग्राफिक्स संदर्भ कोड का हिस्सा नहीं हैं।

+1

उदाहरण के लिए, यह हो सकता है कि संदर्भ ए संदर्भ बी का एक बच्चा है जो संदर्भ ए का एक बच्चा है .... –

+0

बिल्कुल! मैं 'UIGraphicsEndImageContext()' और 'CGImageRelease (imageRef) 'खो रहा था। –

+0

मैं वही चीज़ देख रहा था। एक ही समस्या थी। धन्यवाद इंटरनेट चतुर आदमी! – voidref

1

इसकी संभव आप समाप्त नहीं कर रहे हैं अपने UIGraphicsBeginImageContext

मैं उपयोग के बाद UIGraphicsEndImageContext जोड़कर एक ही हल किया।

+0

(रुडी, आप निम्न गुणवत्ता वाले पोस्ट कतार में दिखाई देते हैं क्योंकि आपका उत्तर "मुझे एक ही समस्या है" जैसा दिखता है, इसलिए मैंने थोड़ा वाक्यांश बदल दिया - आशा है कि यह आपके साथ ठीक है) –

संबंधित मुद्दे