2013-04-25 6 views
11

एंड्रॉइड प्रोग्रामिंग के बारे में,क्या मुझे एक लेआउट फुलाया जाना चाहिए या प्रोग्रामेटिक रूप से इसे बनाना चाहिए?

यह प्रश्न मुझे थोड़ी देर के लिए परेशान कर रहा है, क्या मुझे जितना संभव हो उतना लेआउट फुलाया जाना चाहिए या क्या मुझे प्रोग्रामेटिक रूप से जितना संभव हो उतना लेआउट बनाना चाहिए?

यदि हम "सुविधा" को अलग रखते हैं जो बेहतर है? और तेज? सुरक्षित? किसी भी ठोस इनपुट की सराहना की जाती है।

सादर,

+0

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

+0

मैं समझता हूं कि आप क्या कह रहे हैं, लेकिन मैं जो जानना चाहता हूं वह है, हम कोडिंग की सुविधा को अनदेखा करते हैं और मानते हैं कि हम यूआई को पूरी तरह से कोड में एप्लिकेशन तर्क से अलग करते हैं, और कोड समझ में आता है और साफ है, जो अब तेज़ है और बेहतर, लेआउट inflating या कोडिंग? – LuckyMe

+4

आधिकारिक एंड्रॉइड स्रोत कोड में, लेआउट एक्सएमएल में परिभाषित किए जाते हैं और रनटाइम के दौरान फुलाए जाते हैं। आईएमओ, यदि आप प्रोग्रामेटिक रूप से लेआउट बनाते हैं, तो यह साफ़ नहीं है। आप अपने यूआई का पूर्वावलोकन करने की क्षमता भी खो देते हैं जो आपको एक्सएमएल लेआउट व्यूअर पर मिलता है। – dannyroa

उत्तर

33

मैं देख रहा हूँ, इसलिए चढ़ा गूगल/एंड्रॉयड सिफारिश की है और लेआउट

हाँ करने का परंपरागत तरीके से।

और यह बहुत

द्वारा आवेदन के क्रम धीमा नहीं होता यह नीचे बहुत द्वारा आवेदन के क्रम धीमा नहीं करता है जब एक ही कर रही जावा में अपने आप को काम करने के लिए की तुलना में

क्योंकि मैं Android के डेवलपर साइट पर कहीं पढ़ा है यह एक धीमी प्रक्रिया है और विचारों बढ़ा-चढ़ाकर का सहारा से पहले "पुन: उपयोग किया" जाना चाहिए जितना संभव हो उतना कि।

एक AdapterView में

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

क्या मुझे जितना संभव हो लेआउट फुलाया जाना चाहिए या क्या मुझे प्रोग्रामेटिक रूप से जितना संभव हो लेआउट बनाना चाहिए?

इन्फ्लेट, कृपया।

जो बेहतर है?

मुद्रास्फीति खाता संसाधन सेट (उदाहरण के लिए, स्क्रीन आकार और अभिविन्यास के आधार पर विभिन्न लेआउट) लेती है। मुद्रास्फीति शैलियों के खाते में ओवरराइड लेती है। टूललिंग के साथ मुद्रास्फीति बेहतर काम करती है।

तेज?

शायद कुछ परिदृश्यों जहां हार्ड-कोडेड जावा मुद्रास्फीति की तुलना में तेजी बस के रूप में कुछ परिदृश्यों, जिसमें हार्ड-कोडेड विधानसभा भाषा सी की तुलना में तेजी ज्यादातर मामलों में है देखते हैं है, कर रहे हैं, गति अंतर काफी महत्वपूर्ण नहीं है परेशानी वारंट करने के लिए।

सुरक्षित?

मुझे नहीं पता कि आप इस संदर्भ में "सुरक्षित" क्या मानते हैं।

+0

विस्तारित प्रतिक्रिया के लिए धन्यवाद, जावा_ में एक ही काम करने की तुलना में सिर्फ एक सवाल है, तो आप कहने का मतलब है कि कोडित लेआउट का निष्पादन मुद्रास्फीति की तुलना में धीमा होगा, कोड लेखन समय के बारे में बात नहीं करेगा, बल्कि कोड निष्पादन समय। बहुत धन्यवाद। – LuckyMe

+1

@ लकीमे: मेरे सभी समय संदर्भ निष्पादन समय के संबंध में हैं। – CommonsWare

+0

मैं देखता हूं, मदद के लिए धन्यवाद, चीयर्स :) – LuckyMe

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

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