2014-04-28 3 views
12

मेरे पास एक विशाल XML लेआउट है, जिसमें कई Relative/Linear लेआउट हैं, और अब मैं जो कर रहा हूं वह उन सभी लेआउट को छिपाना है जिनकी मुझे setVisibility (View.GONE) की आवश्यकता नहीं है और आवश्यकता होने पर उनकी दृश्यता बदलना है।क्या "गए" विचार बढ़े हैं?

मेरा प्रश्न है: क्या यह विधि पर्याप्त है? लेआउट फुलाए और प्रस्तुत किए गए हैं ताकि वे फोन मेमोरी को बदल दें और यह गतिविधि लोडिंग का प्रदर्शन और समय हो या वे तब तक नहीं हैं जब तक कि मैं VISIBLE पर दृश्यता सेट नहीं करता।

लेआउट बड़ा हो रहा है इसलिए मैं जानना चाहता हूं कि मुझे Fragments का उपयोग करना चाहिए या अब मेरे पास रहना चाहिए।

+3

यदि वे नहीं थे तो आप अपनी दृश्यता कैसे बदल सकते हैं? – Blackbelt

उत्तर

14

लेआउट फुलाया

हाँ कर रहे हैं।

और गाया

नहीं। वे दृश्य पदानुक्रम का हिस्सा हैं लेकिन प्रतिपादन गुजरता में अनदेखी कर रहे हैं।

+0

बहुत सही जगह पर डाल दिया। :) बस ऊपर से थोड़ा जोड़ने के लिए, ** प्रतिपादन पास में अनदेखा ** का अर्थ है कि वे लेआउट (मौजूद हैं) में हैं लेकिन अदृश्य है और कोई भी स्थान नहीं लेते हैं। :) –

+0

धन्यवाद। चूंकि वे फुलाए गए हैं, फोन के प्रदर्शन सही बदल गए हैं? या वे केवल तभी होते हैं जब लेआउट प्रस्तुत किए जाते हैं? – Copernic

+4

@ मेहदी: "चूंकि वे फुले हुए हैं, फोन के प्रदर्शन सही बदल गए हैं?" - मुझे नहीं पता कि "प्रदर्शन" आपको क्या चिंता करते हैं। 'GONE' विजेट और कंटेनर नियमित विजेट्स जैसे हीप स्पेस लेते हैं। उन्हें प्रतिपादन पास में अनदेखा किया जाता है, इसलिए वे CPU समय के रास्ते में ज्यादा उपभोग नहीं करेंगे, और उन्हें कोई GPU समय नहीं लेना चाहिए। – CommonsWare

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