जैसा कि हम सभी जानते हैं, कई एंड्रॉइड ऐप अपने पहले Activity
फोकस में आने से पहले एक सफेद स्क्रीन को बहुत संक्षेप में प्रदर्शित करते हैं। यह समस्या निम्नलिखित मामलों में देखी गई है:
एंड्रॉइड ऐप्स जो वैश्विक
Application
वर्ग का विस्तार करते हैं और उसमें प्रमुख आरंभिक प्रदर्शन करते हैं।Application
वस्तु हमेशा पहले से पहले बनाई गई हैActivity
, (एक तथ्य यह है कि डीबगर में मनाया जा सकता है) तो यह समझ में आता है। यह मेरे मामले में देरी का कारण है।एंड्रॉइड ऐप जो छप स्क्रीन से पहले डिफ़ॉल्ट पूर्वावलोकन विंडो प्रदर्शित करते हैं।
android:windowDisablePreview = "true"
स्पष्ट रूप से सेट करना यहां काम नहीं करता है। न ही मैं छप स्क्रीन के मूल विषय को यहाँTheme.Holo.NoActionBar
वर्णित के रूप में सेट कर सकता हूँ , क्योंकि [दुर्भाग्य से] मेरी छप स्क्रीन एक का उपयोग करता हैActionBar
।
इस बीच, एप्लिकेशन जो Application
क्लास का विस्तार नहीं करते हैं वे स्टार्टअप पर सफेद स्क्रीन नहीं दिखाते हैं।
बात यह है, आदर्श रूप में Application
ऑब्जेक्ट में किए गए इनिशियलाइज़ेशन को पहले दिखाए जाने से पहले होने की आवश्यकता होती Activity
है। तो मेरा सवाल यह है कि मैं एक वस्तु का उपयोग किए बिना ऐप स्टार्टअप पर इन आदतों को कैसे कर सकता हूं Application
? संभवतः एक का उपयोग कर Thread
या Service
, मुझे लगता है?
यह सोचने के लिए एक दिलचस्प समस्या है। मैं इसे सामान्य तरीके से ( NoActionBar
विषय को सेट करके ) बायपास नहीं कर सकता , क्योंकि वास्तव में मेरी स्प्लैश स्क्रीन वास्तव में ActionBar
कुछ असंबंधित कारणों के कारण है।
ध्यान दें:
मैंने पहले ही निम्नलिखित प्रश्नों का उल्लेख किया है:
संदर्भ:
Application
क्लास से बाहर सभी इनिशियलाइज़ेशन कोड ले जाने के बाद भी यह एक समस्या है । यह एंड्रॉइड के नए संस्करणों के कारण "कोल्ड-स्टार्ट" एप्स का तरीका है। Google ने वास्तव में इस वर्ष Google I / O में लॉन्च किए गए अपराधों को संबोधित किया था और इसे एन में से तय किया जाएगा जो मुझे याद है। इस बीच, आपको यह देखना चाहिए कि Google "ब्रांडेड लॉन्चस्क्रीन" को क्या कहता है। इसे कैसे बनाया जाए, इस पर एक उदाहरण दिया गया है: antonioleiva.com/branded-launch-screen - शुरुआत में अधिक सफेद स्क्रीन नहीं ;-) और कृपया स्प्लैशस्क्रीन का उपयोग न करें - यह उपयोगकर्ता को परेशान कर रहा है।