2010-05-27 13 views
5

छवियों को लोड होने पर UITableView पर स्क्रॉलिंग इतनी चंचल बनाता है? क्या ऐसा इसलिए है क्योंकि उन्हें सबव्यू के रूप में जोड़ा जाना चाहिए? या ऐसा इसलिए है क्योंकि छवियों को कैश किया जाना चाहिए? दोनों?UITableView चिकनी स्क्रॉलिंग प्रदर्शन

उत्तर

6

क्योंकि उन्हें सबव्यूव के रूप में जोड़ा गया है, और उप-दृश्यों को आकर्षित करने के लिए यह बहुत काम है क्योंकि उन्हें संमिश्रण करना है। और भी अधिक जब कोर ग्राफिक्स या कोर एनीमेशन इन सबव्यूज़ के साथ कई सेल्स खींच रहा है।

Loren Brichter (atebits) बताते हैं बेहतर:

बहुत तरह मैक ओएस एक्स पर, वहाँ iPhone पर दो ड्राइंग सिस्टम हैं। एक कोरग्राफिक्स है, दूसरा लेयरकिट कोरएनीमेशन है। कोरग्राफिक्स सीपीयू पर चित्रित करता है, कोरएनीमेशन जो भी सोचता है उस पर चित्रण करता है - सबसे अधिक संभावना है कि जीपीयू।

आईफोन पर जीपीयू मिश्रण से नफरत करता है, यही कारण है कि ऐप्पल अनुशंसा करता है कि आप जितने संभव हो उतने अपने विचारों को अपारदर्शी रखें। कभी-कभी आपके पास कोई विकल्प नहीं होता है - यदि आपके पास किसी छवि पर लेबल है तो आपको लेबल को पारदर्शी बनाने के लिए मजबूर होना पड़ता है अन्यथा आपको अपने टेक्स्ट के चारों ओर एक बड़ा बदसूरत ब्लॉक मिलता है।

डेवलपर क्या करना है? पाठ्यक्रम के प्री-ब्लेंड ... कोरग्राफिक्स के साथ अपने स्वयं के विचार में। यदि आप मांग पर एक स्थिर दृश्य में अपनी सामग्री को एक साथ जोड़ते हैं (उदाहरण के लिए जब एक टेबल व्यू सेल ऑनस्क्रीन चलाता है), यह पहले फ्रेम के लिए थोड़ा महंगा है, लेकिन कोरएनीमेशन के बाद हर फ्रेम सिर्फ एक बड़े, अपारदर्शी से निपट रहा है बनावट ... जो इसे प्यार करता है। यह सिर्फ मिश्रण से भी ज्यादा है। यदि आप ओवरड्रा के मामले में क्या हो रहा है, इसके बारे में सोचते हैं, प्रति टेबल सेल में एक बड़ा दृश्य एक बड़ी जीत है क्योंकि CoreAnimation केवल एक बार दिए गए पिक्सेल को स्क्रीन पर कई बार बजाएगा (संभावित रूप से, आपके पुराने ओवरलैप पर निर्भर करता है पदानुक्रम देखें)।

+0

यह लिंक डाउन लगता है :(हालांकि मैं गलत हो सकता हूं क्योंकि मैं एक निजी नेटवर्क पर हूं – GoodSp33d

+1

@ GoodSp33d: आप सही हैं, atebits.com कई सालों से नीचे रहा है। अच्छी बात यह संग्रहित है; I मैंने अभी अपना जवाब संपादित किया है। – BoltClock

0

ईमानदारी से, मुझे यकीन नहीं है कि क्या जवाब देना है।

मुझे क्या पता, कि जब मैं एक बहुत "भारी" UITableView है, और इसकी जरूरत तेजी से स्क्रॉल करने के लिए, मैं Tweetie के निर्माता से विधि का उपयोग है:

http://blog.atebits.com/2008/12/fast-scrolling-in-tweetie-with-uitableview/

एक बेहतर कभी नहीं पाया इस से रास्ता।

+0

कृपया अपने ऐप्स के लिंक या अपने उत्तरों के हस्ताक्षर न जोड़ें – iwasrobbed

+0

उस अनुरोध को करने के लिए समय निकालने के लिए धन्यवाद। मुझे अपने हस्ताक्षर को हटाने में खुशी है। – camilo

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