मुझे पता है कि डिफ़ॉल्ट रूप से PagerAdapter
केवल वर्तमान, अगले और पिछले पृष्ठों को लोड करता है। क्या इसे बदलने का कोई तरीका है, इसलिए यह प्रत्येक पृष्ठ को लोड करेगा? धन्यवाद!पेजरएडाप्टर को सभी पृष्ठों को लोड करने के लिए कैसे करें
उत्तर
यदि आपके पास N
पृष्ठ हैं, तो आप setOffscreenPageLimit(N-1)
का उपयोग कर सकते हैं, ताकि यह सभी पृष्ठों को स्मृति में रख सके।
मुझे यकीन नहीं है कि यह एक जवाब है, लेकिन एडाप्टर की पूरी अवधारणा (सूचियों/ग्रिड आदि के लिए भी) यह है कि आपके पास हर समय स्मृति में लोड किए गए सभी दृश्य नहीं हैं, लेकिन यह जो दिखता है वह केवल फुलाता है।
10000 आइटमों के साथ एक सूची दृश्य के बारे में सोचें, यदि ऐप उन्हें लोड करने का प्रयास करेगा तो ऐप क्रैश हो जाएगा।
क्षैतिज स्क्रॉल व्यू के साथ आपके पास स्मृति में लोड किए गए सभी विचार होंगे।
मुझे लगता है कि एक समय में सभी पृष्ठों को लोड करना संभव नहीं है। आपको अपना कोड फिर से डिजाइन करना चाहिए।
मुझे यकीन नहीं है कि यह एक जवाब है, लेकिन एडाप्टर की पूरी अवधारणा (सूचियों/ग्रिड आदि के लिए भी) यह है कि आपके पास हर समय स्मृति में लोड किए गए सभी दृश्य नहीं हैं, लेकिन यह केवल दिखाई देता है जो दिखाई देता है। 10000 आइटमों के साथ एक सूची दृश्य के बारे में सोचें, यदि ऐप उन्हें लोड करने का प्रयास करेगा तो ऐप क्रैश हो जाएगा।
प्रलेखन कहता है कि "setOffscreenPageLimit" उपयोगी और तेज़ हो सकता है यदि आप जानते हैं कि आप कितने पेज और सामग्री दिखाना चाहते हैं। यदि आपको जानकारी दिखाने के बारे में पता है और यह भारी वजन नहीं है "setOffscreenPageLimit" वास्तव में आपके प्रदर्शन में सुधार करेगा क्योंकि विचार केवल एक बार फुलाए जाते हैं।
एक आकर्षण की तरह काम किया। बस एक सवाल, एन -1 क्यों? इससे पता चलता है कि इससे कोई फर्क नहीं पड़ता कि सब कुछ के लिए एक समाधान है! –
तर्क एडाप्टर को बताता है कि वर्तमान पृष्ठ के प्रत्येक पक्ष पर स्मृति में रखने के लिए कितने पेज हैं। उदाहरण के लिए, यदि तर्क 2 था, तो यह स्मृति में 5 पृष्ठों तक रखेगा: वर्तमान पृष्ठ, बाईं ओर दो, और दाईं ओर दो। – UgglyNoodle
बहुत अच्छे काम करता है। धन्यवाद दोस्तों – Suman