में संग्रहीत डेटा मुझे , onStop
और onSaveInstanceState
में क्या जाना चाहिए इसके बारे में भ्रम है। उदाहरण के लिए, एंड्रॉयड डॉक्स का कहना है कि के लिए -एंड्रॉइड - ऑन पॉज़, ऑनस्टॉप या ऑनसेवेंसस्टेट
बिना सहेजे गए परिवर्तन प्रतिबद्ध है लेकिन केवल तभी उन स्थायी रूप से बचाया जा इस तरह के बदलाव के लिए जब वे (जैसे अधूरा ईमेल के रूप में) छोड़ उम्मीद है।
onStop
के लिए -
आप() इस तरह के एक डेटाबेस के लिए जानकारी लेखन के रूप में बड़े, अधिक सीपीयू गहन बन्द करते संचालन, प्रदर्शन करने के लिए onStop उपयोग करना चाहिए।
onSaveInstanceState
अपनी गतिविधि के लिए अधिक राज्य जानकारी है कि आप इस तरह के सदस्य चर कि गतिविधि में उपयोगकर्ता की प्रगति को ट्रैक के रूप में, में पुनर्स्थापित करना चाहते हो सकता है।
क्या यह सच नहीं है कि ये तीन चीजें मूल रूप से किसी रूप, या ईमेल जैसी जानकारी संग्रहीत करने के लिए इंगित करती हैं? फिर किस विधि में इसे सहेजा जाना चाहिए?
'ऑनस्टॉप()' को हनीकॉम (3.0) के बाद से कॉल करने की गारंटी है, जो जनवरी 2016 तक एंड्रॉइड डिवाइसों का 96.8% है। इसलिए मैं डेटा बचाने के लिए 'ऑनस्टॉप()' ओवर ऑन पॉज़() 'का उपयोग करना पसंद करता हूं अभी व। –
@ विकी सिजवानी एक सॉफ्टवेयर इंजीनियरिंग स्टैंडपॉइंट से, _preferring_ 'onStop()' over 'onPause() 'स्वीकार्य नहीं है, जब तक कि आप अपने ऐप के मेटाडेटा (जिसे आप उल्लेख नहीं करते) में एंड्रॉइड 3.0 स्पष्ट रूप से _require_ करते हैं। –
ठीक है, मैं एंड्रॉइड 3.0 के लिए अपने ऐप्स बना देता हूं और बाद में, इसका उल्लेख करना चाहिए था।अन्य (बहस योग्य) कारण मैं 'ऑनस्टॉप() 'पसंद करता हूं क्योंकि इस पंक्ति के कारण [' ऑन पॉज़()' डॉक्स] में है (http://developer.android.com/reference/android/app/Activity.html#onPause % 28% 2 9): "जब ए गतिविधि ए के सामने गतिविधि बी लॉन्च किया जाता है, ... बी को ए 'पर रोक()' रिटर्न तक नहीं बनाया जाएगा, इसलिए सुनिश्चित करें कि यहां कुछ भी लंबा नहीं है। " बेशक, जीवनभर के दस्तावेज़ पूरी तरह से भ्रमित हैं, इसलिए यह निर्णायक नहीं है। –