जब हम Google Play ऐप की तरह RecyclerView में RecyclerView का उपयोग करते हैं, तो हम बाहरी और आंतरिक RecyclerView दोनों के लिए समान RecycledViewPool सेट कर सकते हैं।

क्या होगा यदि दो RecyclerView विभिन्न गतिविधियों में? क्या RecycledViewPool अभी भी ठीक काम करता है? इन दो दृश्यों में एक ही एडेप्टर है।

मैंने कोशिश की थी, और दूसरी गतिविधि में क्रिएट व्यू ने कॉल किया है, लेकिन मुझे लगता है कि क्योंकि मुझे कुछ याद आती है।

मेरे ऐसा करने का कारण प्रदर्शन है। हर बार onCreateView को कॉल करने पर, बहुत समय खर्च होगा, क्योंकि LayoutInflater xml को पार्स करता है।

अन्यथा, इस प्रश्न को दूसरी तरफ छोड़ दें, कैसे एक उच्च प्रदर्शन सूची पृष्ठ बनाया जाए, ठीक Youtube की तरह, उनका FPS बहुत अधिक है।

1
RainFool 25 अक्टूबर 2018, 11:10

1 उत्तर

सबसे बढ़िया उत्तर

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

इसे पहले स्थान पर पूरा करने के लिए आपके पास RecycledViewPool का एक स्थिर संदर्भ हो सकता है। यह एक मृत उपहार होना चाहिए कि यह एक अच्छा विचार नहीं हो सकता है क्योंकि आप दृश्यों के स्थिर संदर्भ रखते हैं, और इस प्रकार अप्रत्यक्ष रूप से उनके संदर्भों के लिए।


TL; DR नई गतिविधि का अर्थ है नया व्यू पूल।

2
RobCo 25 अक्टूबर 2018, 09:35