हम एक एंड्रॉइड ऐप डिज़ाइन कर रहे हैं जिसमें कई गतिविधियां हैं जो विज़ार्ड में काम कर रही हैं - अंतिम गतिविधि (# 6) तक पहुंचने के लिए उपयोगकर्ता को # 1 गतिविधि # 5 से गतिविधि # 5 से गुजरना चाहिए।Android पर सर्वोत्तम प्रथाओं पूरे आवेदन सत्र के लिए गतिविधियों deathes/पुनरारंभ के बीच डेटा रखने के लिए क्या है?
चूंकि हम जानते हैं कि कम स्मृति पर ओएस द्वारा अचानक एक गतिविधि को समाप्त किया जा सकता है, इसलिए हमने उपयोगकर्ता कक्षा को "जादूगर" गतिविधियों पर डेटा इनपुट करने और पूरे सत्र के लिए हमारे ऐप की आवश्यकता वाले डेटा को रखने के लिए एक स्थिर संग्रहण के रूप में उपयोग किया है।
दुर्भाग्य से हम यह जान लिया है इस दृष्टिकोण में विफल रहता है - आवेदन वर्ग उदाहरण भी ओएस द्वारा मारा जा सकता है की तरह लग रहा है (यह विशेष रूप से बनाम 1.5 एंड्रॉयड 1.6 पर खोज की थी)। क्या हमारी अपेक्षाएं इस दृष्टिकोण पर गलत हैं (हमें लगता है कि एप्लिकेशन क्लास इंस्टेंस हमेशा पूरे ऐप सत्र के लिए रहता है)?
तो सवाल है - क्या Android पर सर्वोत्तम प्रथाओं पूरे आवेदन सत्र के लिए गतिविधियों के बीच डेटा रखने के लिए deathes/पुनरारंभ है?
मैं वास्तव में इस सवाल का जवाब है। यह एक गतिविधि के रूप में इस लागू करने के लिए क्लीनर हो सकता है, फिर भी आपको ऐसी स्थितियों जैसे बैक बटन जिसे आपने पिछले डिफ़ॉल्ट रूप से "स्क्रीन" करने के लिए नहीं ले जाएगा पर विचार करने की क्या ज़रूरत है। हां बस अपनी प्रक्रिया (और इसलिए फ्रेमवर्क ऑब्जेक्ट्स जैसे एप्लिकेशन) को किसी भी समय मार दिया जा सकता है। किसी सेवा का उपयोग करने से मदद मिल सकती है, लेकिन यह केवल अपरिहार्य देरी कर सकती है। यह FAQ उपयोगी हो सकता है: http://developer.android.com/guide/appendix/faq/framework.html#3 – James