आपको उपयोगकर्ता प्राथमिकताओं को ऑन-ऑन में स्टोर करने की आवश्यकता नहीं है क्योंकि जैसा कि आप कहते हैं, ढांचा आपके लिए करता है।
लगातार डेटा बनाम राज्य जानकारी के बीच अंतर करने के लिए, एक टेक्स्ट एडिटर एप्लिकेशन के बारे में सोचें।
लगातार डेटा
मान लीजिए कि उपयोगकर्ता एक जोड़े शब्द टाइप किया है और फिर ऐप्स को बाहर निकालता करते हैं। उपयोगकर्ता ने हमें उस डेटा को फ़ाइल में सहेजने के लिए स्पष्ट रूप से नहीं बताया था, लेकिन यह सुनिश्चित होगा कि उस डेटा को वापस आने के लिए उस डेटा को स्टोर करना अच्छा लगेगा। यह लगातार डेटा है और आप इसे रोकें() में स्टोर करना चाहते हैं।
राज्य डेटा
इसी तरह, आप 2 टैब और एक चर पटरियों कि जो टैब वर्तमान में चयनित किया गया है का कहना है। यह राज्य डेटा है जिसे आप ऑनवेस्टेंसस्टेट() पर स्टोर करेंगे।
ग्रे बात
अंत में कल्पना करें कि आप संपादक कि वर्णों की संख्या और संपादक में लाइनों की संख्या का ट्रैक रखता है में एक वर्ग है। यह राज्य डेटा है, आप इसे SaveInstanceState() पर संग्रहीत कर सकते हैं या आप इसे फिर से फेंक सकते हैं और फिर से शुरू करते समय इसे फिर से समझ सकते हैं। चाहे आप इसे फेंक दें, इस पर निर्भर हो सकता है कि गणना करने में कितना समय लगता है, उदाहरण के लिए यदि आप डेटा संग्रह करके नेटवर्क अनुरोध को रोक सकते हैं, तो ऐसा करें।
आगे विचार
अपने अनुप्रयोग के साथ खेल के द्वारा यह हो, तो एक ऐसा क्षेत्र है जहां आप सही डेटा दूर गिलहरी करने में विफल रहा स्पष्ट होना चाहिए। होम बटन हिट करने जैसी चीजें करना सुनिश्चित करें और फिर डिवाइस मैनेजर से अपना ऐप बंद करें। यह आपको कोने के मामलों को हिट करने देगा जहां आपका ऐप बंद होने की बजाए बंद हो गया है।
यदि आपका यूआई राज्य जीवन चक्र की घटनाओं में सुसंगत है और आपका उपयोगकर्ता डेटा रहता है, तो अच्छी नौकरी।
संपादित करें टिप्पणी
मुझे लगता है कि यहाँ मापदंड के 2 टुकड़े जब/क्या बचाने के लिए निर्धारित करने के लिए देखते हैं पर आधारित है।
पहला काफी व्यक्तिपरक है - क्या आप डेटा को भी सहेजना चाहते हैं? राज्य या डेटा को बचाने के लिए आपको मजबूर करने के लिए वास्तव में कुछ भी नहीं है। इस जानकारी को सहेजने से बेहतर उपयोगकर्ता अनुभव होगा? यदि आप एक ईमेल लिख रहे हैं और किसी अन्य ऐप से टेक्स्ट कॉपी/पेस्ट करने का प्रयास कर रहे हैं, तो ऐप बंद होने पर हर बार अपना आधा टाइप ईमेल खोना निराशाजनक होगा।
दूसरा टुकड़ा, यह निर्धारित करने के लिए कि क्या आप सहेजना चाहते हैं, इस पर निर्भर करता है कि आप अपने यूआई राज्य को आपके द्वारा बनाए गए डेटा के आधार पर पुनर्निर्माण कर सकते हैं या नहीं। उदाहरण के लिए, यदि आपने टेक्स्ट डेटा सहेजा है तो इसका मतलब यह होना चाहिए कि उपयोगकर्ता टेक्स्ट संपादित कर रहा था। तो अब हम संपादन टेक्स्ट टैब पर स्विच करना और सहेजे गए पाठ को भरना जानते हैं।
आम तौर पर, अगर इच्छा यह है कि आप उपयोगकर्ता को उसी स्थान पर वापस लौटना चाहते हैं, तो उन्हें छोड़ दिया गया है, तो आपको उस बिंदु पर वापस आने के लिए आवश्यक राज्य डेटा के बारे में सोचना होगा। अपने अनुप्रयोग
- का एक प्राचीन लोड संस्करण क्या डेटा चालू करने के लिए है कि पिछले राज्य में उपयोगकर्ता देखा बदलने की जरूरत की कल्पना?
- आपको वापस पाने के लिए स्टोर करने के लिए आपको कौन सी डेटा स्टोर करने की आवश्यकता है?
यह वास्तव में कैसे एंड्रॉयड काम करता है, अपनी गतिविधि को नष्ट कर दिया और निर्मित कर रहा है और यह गति में टुकड़े फिर से स्थापित करने के लिए (यदि आप ऐसा करने के लिए चुनते हैं) अपने काम है।
"डिवाइस कॉन्फ़िगरेशन परिवर्तनों को छोड़कर" ... इसका क्या अर्थ है? –
यह अभिविन्यास प्रकार के परिवर्तन से संबंधित है। –
@AlexLockwood शब्द "एक्सेप्ट" इसका अर्थ है इसका एक लिंक है। लगभग उबाऊ उदाहरण अभिविन्यास प्रकार परिवर्तन है, लेकिन यह कुछ और हो सकता है? (उदाहरण के लिए यूएसबी कीबोर्ड कनेक्ट, इंटरनेट कनेक्टिविटी स्थापित, आदि) – ateiob