2012-06-29 6 views
9

में System.exit() मुझे पता है system.exit (0) का उपयोग नहीं किया जाना चाहिए। मैंने बहुत सारे ट्यूटोरियल पढ़े हैं और यह भी बताते हुए कि अनुप्रयोगों से बाहर निकलने के लिए इसकी अनुशंसा क्यों नहीं की जाती है() एक बेहतर विकल्प है, लेकिन बहुत ही दुर्लभ मामले में जब मेरे गंदे कामकाज का उपयोग मेरे मुख्य प्रश्न से किया जाता है यह एंड्रॉइड डिवाइस को नुकसान पहुंचा सकता है या उपयोग किए जाने पर डिवाइस का कोई पहलू?एंड्रॉइड

उत्तर

9

संक्षिप्त उत्तर: नहीं

विस्तृत उत्तर: नहीं, यह डिवाइस या उपकरण के किसी भी पहलू को नुकसान नहीं पहुंचाता। यह सिर्फ ऐप को स्मृति से हटा देता है और सभी प्रयुक्त संसाधनों को साफ़ करता है। यदि आपके पास कोई भी फाइल खुली है, तो वे दूषित हो सकते हैं, लेकिन फाइल सिस्टम नहीं होगा। एंड्रॉइड को उस समय उपयोग में आने वाले सभी और किसी भी संसाधन (जीपीएस, वाईफाई, आदि) को रिलीज़ करना चाहिए, लेकिन वे एक अपरिभाषित स्थिति में हो सकते हैं। System.exit() के प्रभावों को ऐप-क्रैश से तुलना करें: इससे आपके डिवाइस को भी प्रभावित नहीं होगा।

1

किसी कारण के "मुख्य" विधि के बाहर कहीं भी System.exit(0) कॉलिंग निम्नलिखित कारणों से अनुशंसित नहीं है।

  1. यह आपके कोड का पुन: उपयोग करने में बाधा है।

  2. यह इकाई परीक्षण को कठिन बना देता है। उदाहरण के लिए, यदि आपका कोड System.exit को कॉल करता है जब कुछ परीक्षण कुछ त्रुटि प्रबंधन का प्रयोग करते हैं, तो यह System.exit(0) का सामना करने पर परीक्षण समाप्त कर देगा।

+0

मैं सिर्फ यह जानना चाहता हूं कि डिवाइस या उसके मेमोरी पर इसका असर क्या है? – Altavista

+0

उत्तर स्पष्ट रूप से बताता है। यह आपके डिवाइस को बिल्कुल नुकसान नहीं पहुंचाएगा। यह सिर्फ इतना है कि यह आपके आवेदन की इकाई परीक्षण को मुश्किल बनाता है। –

1

यह आपके डिवाइस को नुकसान नहीं पहुंचाएगा। एकमात्र मुश्किल बात यह है कि एंड्रॉइड एसिंक्रोनस इरादा प्रसारण/प्राप्त आर्किटेक्चर की वजह से आपके ऐप को तुरंत जीवन में ला सकता है। मान लें कि आपने बस कुछ ऐसा किया है जो आपके ऐप की गतिविधि सुनता है। और फिर आप बाहर निकलें। लेकिन एंड्रॉइड प्रसारण को संभालने के लिए आपके ऐप को वापस लाएगा।