क्या मुझे प्रत्येक उपयोग के बाद कर्सर को बंद कर देना चाहिए या क्या मैं इसे तब तक खुला रख सकता हूँ जब तक कि दृश्य नष्ट न हो जाए?
निर्भर करता है। यदि कर्सर परिणाम इस बीच बदलने वाला नहीं है (उदाहरण के लिए डीबी को संशोधित करने वाला रिमोट कनेक्शन), तो यह ठीक है। CursorLoader
का उपयोग करना न भूलें Android को अपने कर्सर को स्वचालित रूप से प्रबंधित करने के लिए (उदा. यदि आपका ऐप क्रैश हो जाता है तो कर्सर को बंद कर दें)।
और डेटाबेस के लिए भी, क्या इस दृश्य को रखने वाली गतिविधि बनने और गतिविधि नष्ट होने पर बंद हो जाने के बाद इसे खोला जा सकता है?
हां, आप onResume()
. में खोल सकते हैं और onPause()
. में बंद करें कॉलबैक, या जब आप जानते हैं कि आपका डेटाबेस अब और नहीं पूछा जाएगा।
जब मैं ऊपर वर्णित के अनुसार करता हूं तो मुझे लगातार एक त्रुटि मिलती है 'करीब () को स्पष्ट रूप से डेटाबेस पर कॉल नहीं किया गया था ...'।
यह तभी सामान्य है जब आपका ऐप क्रैश हो जाए। ऐसा नहीं होना चाहिए यदि आप ऐसा कर रहे हैं जैसा मैंने ऊपर कहा है।