ऐसा लगता है कि एपीआई प्रतिस्थापनइंटरमेटमथप्लेयरइटम: कुछ सेकंड के लिए मुख्य धागा फंस जाएगा, मैं समझता हूं कि आइटम को बदलने से नए आइटम की जानकारी की आवश्यकता होती है जिसमें प्रीलोड करने में कुछ समय लग सकता है। लेकिन सवाल उठते हैं कि क्यों प्रतिस्थापित करें CurrentItemWithPlayerItem: के साथ शून्य आइटम ऑब्जेक्ट मुख्य थ्रेड भी फंस जाएगा ?? यह मेरे साथ होता है कि कभी-कभी शून्य खिलाड़ी इटैम को प्रतिस्थापित करने में 5 सेकंड से अधिक समय लगता है। मुझे आश्चर्य है कि इस मुद्दे से बचने के लिए मैं क्या कर सकता हूं। किसी भी सलाह के लिए धन्यवाद!आईओएस AVPlayer प्रतिस्थापित करें CurrentItemWithPlayerItem: शून्य ब्लॉक यूआई थ्रेड
उत्तर
जब मैं UICollectionView
का उपयोग के माध्यम से स्थानीय फोटो लाइब्रेरी में वीडियो प्रदर्शित करने और पूर्वावलोकन करने के लिए करता था तो मैं इसी तरह के अवरुद्ध यूआई थ्रेड मुद्दे पर आया था।
स्विचिंग वीडियो पर स्क्रॉल सुचारू रूप से नहीं है, इसलिए मैं कुछ विधि ब्लॉक यूआई मैं Instruments
की Core Animation
का उपयोग thread.Then विश्लेषण करने के लिए वास्तव में क्या यूआई धागा पर कब्जा .इसके Time Profiler
मुझे पता चला कि replaceCurrentItemWithPlayerItem
के बारे में 30ms करने की जरूरत है लगता है मुख्य धागे में निष्पादित करें, जो 16ms से अधिक (1000/60 (एफपीएस) है) परिणामस्वरूप चटनी स्क्रॉलिंग में परिणाम।
समस्या को हल करने के लिए, पहले मुझे लगता है कि GCD का उपयोग कर पृष्ठभूमि धागा करने के लिए replaceCurrentItemWithPlayerItem
डाल कोशिश की, लेकिन यह निश्चित नहीं work.I'm नहीं करता है, तो ऐसा इसलिए है क्योंकि कोको ही जरूरत यूआई अद्यतन जब कॉल replaceCurrentItemWithPlayerItem
, जो यूआई का मतलब थ्रेड अभी भी ब्लॉक है। आखिरकार मैंने इसे स्क्रॉलिंग एंड पर replaceCurrentItemWithPlayerItem
डालकर काम किया (प्रतिनिधि func scrollViewDidEndDecelerating(scrollView: UIScrollView)
).अब स्क्रॉलिंग सुचारू रूप से है, हाँ!
इसलिए, मेरी सलाह स्पष्ट है: विश्लेषण करने के लिए वास्तव में क्या है, तो आप मेरा दिन बचाया यूआई धागा
- 1. यूआई थ्रेड ब्लॉक
- 2. एंड्रॉइड यूआई थ्रेड (यूआई थ्रेड)
- 3. आईओएस: AVPlayer वीडियो प्रीलोडिंग
- 4. AVPlayer आईओएस 9
- 5. एनएसओपरेशन यूआई पेंटिंग ब्लॉक?
- 6. डब्ल्यूपीएफ यूआई थ्रेड प्राप्त करें, या गैर-यूआई थ्रेड
- 7. आईओएस AVPlayer को कैसे कम करें
- 8. आईओएस यूआई
- 9. आईओएस AVPlayer स्ट्रीमिंग संगीत मुद्दों
- 10. यूआई थ्रेड
- 11. यूआई थ्रेड
- 12. आईओएस पृष्ठभूमि थ्रेड शुरू करें
- 13. जावा थ्रेड ब्लॉक। क्या करें?
- 14. डिस्पैचर थ्रेड और यूआई थ्रेड
- 15. jQuery ब्लॉक यूआई अपवाद
- 16. गैर-यूआई थ्रेड
- 17. एक गैर-यूआई थ्रेड
- 18. AVPlayer
- 19. AVPlayer
- 20. थ्रेड ब्लॉकिंग यूआई
- 21. एकाधिक यूआई थ्रेड चलाएं
- 22. एक अलग यूआई थ्रेड
- 23. एंड्रॉइड यूआई थ्रेड
- 24. टास्क निरंतरता अवरुद्ध यूआई थ्रेड
- 25. स्क्रॉल UICollectionView ब्लॉक मुख्य थ्रेड
- 26. AVPlayer
- 27. AVPlayer
- 28. आईओएस में AVPlayer का उपयोग कर ऑडियो कैसे बफर करें?
- 29. मुख्य थ्रेड यूआई थ्रेड के समान है?
- 30. क्यूटी: पृष्ठभूमि थ्रेड रीफ्रेशिंग यूआई थ्रेड
धन्यवाद दोस्त पर कब्जा उपकरण का उपयोग करते हुए: डी –