2012-07-26 8 views
12

किसी सूची के लिए दृश्यों को फुलाते समय, क्या एंड्रॉइड के बिना सभी टेक्स्टव्यू देखना बेहतर है: .xml फ़ाइल में टेक्स्ट और यह गति को कितना प्रभावित करता है? ViewStubs के बारे में क्या, यह भी तेज होगा?त्वरित लोडिंग सूची दृश्य, व्यूहोल्डर विधि से तेज़

एंड्रॉइड के बिना 8 टेक्स्ट व्यू के साथ लाइनरलाइट को फुलाते समय: टेक्स्ट और एंड्रॉइड के साथ: text = "@ string/abc", क्या यह कुछ भी बदलता है? ध्यान दें कि मैं विचारों का पुन: उपयोग कर रहा हूं, इसलिए शायद केवल 10 ही फुलाए जाएं और फिर पुन: उपयोग किए जाएंगे, मुझे नहीं पता।

मैं एक जेडटीई ब्लेड पर विकसित कर रहा हूँ, इसलिए that'a एकल 600MHz सीपीयू और नहीं एक क्वाड-कोर ...

+1

यदि आप अपनी पंक्ति की ऊंचाई को बड़ा करते हैं, तो एंड्रॉइड को कम लाइनें खींचनी पड़ती हैं और तेज़ होती है, आप बड़ी उंगलियों वाले लोगों को यह कहते हुए औचित्य दे सकते हैं कि पंक्तियों को आसानी से चुन सकते हैं :) – max4ever

उत्तर

8

आप इस बारे में सुनिश्चित नहीं की कोशिश कर सकते हैं, अगर वह तेज़ हो जाएगी, लेकिन इसे आजमा कर देखें।

पृष्ठभूमि धागे में लेआउट को घुमाएं।

View getView(int position, View convertView, ...) { 
    View v; 
    if (convertView == null) { 
     Start a background thread to inflate your linearLayout. 
     Pass item data and view 'v' to it. 

     v = inflate a simple dummy textview; 
     return v; 
    } 
    set normal stuff to convertview here. 
    return convertView ; 
} 

पृष्ठभूमि धागा में,

  • सभी डेटा सेट 'v'
  • में अपने LinearLayout फुलाना।
  • फिर दृश्य v देखें।

    v.postInvalidate(); 
    
+0

मैं इसे काम पर नहीं ला सकता, v.postInvalidate() कुछ भी नहीं करता – max4ever

+0

मैंने वैकल्पिक रूप से अपना उत्तर अपडेट किया .. – Ronnie

+0

विचार अच्छा है, लेकिन मैं इसे काम नहीं कर सकता, क्या आपके पास एक उदाहरण है कहीं आसान काम कोड का? – max4ever

3

यह काफी उपयोगी है जब सूची दृश्य को तेज करने, विशेष रूप से देखें धारक बिट: http://developer.android.com/training/improving-layouts/smooth-scrolling.html

मैं एक जेडटीई ब्लेड भी मिल गया है, वे धीमी गति से कर रहे हैं, लेकिन वह यह अच्छी तरह से चलाने के क्षुधा 'सामान्य' फोन :) पर अद्भुत चलाने

+0

हाँ मैं व्यू होल्डर का उपयोग कर रहा हूं, मैं था यह सोचकर कि क्या inflate का कोई प्रभाव – max4ever

+0

मुझे नहीं लगता कि यह करता है, लेकिन यदि आपकी पंक्ति वस्तुओं में बहुत सारे विजेट हैं तो यह सब कुछ धीमा कर देगा। क्या आप स्क्रॉलिंग गति में सुधार करने की कोशिश कर रहे हैं? –

+0

भले ही मैं एडाप्टर का उपयोग करने के बाद कुछ ऐप के लिए एडाप्टर का उपयोग करता हूं, और मैं 40 पंक्तियों के साथ सूची भरता हूं, और मैं एक सैमसंग गैलेक्सी टैब का उपयोग कर रहा हूं, यह नहीं समझ सकता कि – max4ever

3

तुम वैसे भी textviews में पाठ बदल रहे हैं, तो आप XML में मौजूद उन को आबाद करने के लिए परेशान नहीं होना चाहिए।

सरल सूचीदृश्यों में प्रदर्शन करने के लिए मोहक प्रदर्शन के लिए एक वास्तविक हत्यारा नेस्टेड लाइनरलेआउट है। कुछ काम के साथ किसी भी linearlayout पेड़ को relativelayout के साथ प्रतिस्थापित किया जा सकता है।

सुनिश्चित करें कि आप viewViewById का उपयोग नहीं कर रहे हैं (कन्वर्ट व्यू == नल) {ब्लॉक या तो व्यूहोल्डर शैली का उपयोग करके या बस view.setTag (R.id.resId, findViewById (R.id.resID) में सेटिंग।))

आपने टिप्पणियों में उल्लेख किया है कि आप अपने asynctask से लौटने पर देरी का सामना कर रहे हैं। सुनिश्चित करें कि आप प्रत्येक प्रविष्टि के बाद तालिका को पुनः लोड नहीं कर रहे हैं। डेटा स्रोत का एक बड़ा अद्यतन करें और फिर तालिका को फिर से लोड करें।

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