2011-01-04 7 views
11

जब मैं डीबगर पर अपना ऐप चलाता हूं, तो मुझे मुख्य थ्रेड और 3 बाइंडर थ्रेड मिलते हैं।Activity.finish() कहा जाता है लेकिन गतिविधि स्मृति में लोड होती है

एक बटन पर क्लिक करें मैं गतिविधि.फिनिश() पर कॉल करता हूं, ऐसा लगता है जैसे यूआई बंद हो जाती है और होम स्क्रीन पर वापस जाती है।

हालांकि, डीबगर में, यह अभी भी मुख्य धागा और 3 बाइंडर धागे को दिखाता है "(चल रहा है)"।

मुझे यह क्यों हो रहा है कि यह क्यों हो रहा है। इससे भी ज्यादा, यह मेरे ऐप को गतिविधि.ऑन रिज़्यूम() पर कॉल करने का कारण बन रहा है जब मैं ऐप से बाहर निकलने के बाद इसे फिर से चलाता हूं।

मैं वर्तमान गतिविधि में इन तरीकों को ओवरराइड, लेकिन मैं हर एक में उचित सुपर कार्यों फोन:

  • OnDestroy()
  • onPause()
  • onResume()
  • onSaveInstanceState ()

इस बारे में कोई मदद या सलाह बहुत सराहना की है!

+0

गतिविधि जीवन चक्र के बारे में पढ़ें। और यह समझें http://www.androidjavadoc.com/1.0_r1_src/android/app/doc-files/activity_lifecycle.png – fiction

+0

हाय फिक्शन, मैंने कई बार दस्तावेज़ पढ़ा है और आपके द्वारा पोस्ट की गई छवि थी जहां मुझे मेरी समझ मिली से। मैं यह देखने के लिए उलझन में था कि गतिविधि को बदलने के बाद इसे फिर से शुरू करने के बजाय फिर से शुरू हो रहा था। फिनिश()। – twig

उत्तर

22

जब आपका ऐप मुख्य मेमोरी छोड़ देता है तो आप नियंत्रण नहीं करते हैं, ओएस करता है। Activity.finish को बारीकी से देखें ...

कॉल तब करें जब आपकी गतिविधि किया जाता है और बंद किया जाना चाहिए। ActivityResult को पर प्रचारित किया गया है, जिसने आपको पर एक्टिविटी रिसैट() पर लॉन्च किया है।

नोट जो स्मृति के बारे में कुछ नहीं कहता है। Activity.onResume को कॉल करने के लिए, यह वही है जो आप जीवन चक्र के लिए अपेक्षा करेंगे; remeber कि रेस्यूम को फिर से शुरू करने के बाद बुलाया नहीं जाता है, लेकिन जब भी ऐप को क्रिएट के बाद लॉन्च किया जाता है तब भी।

जब आप वास्तव में क्या नहीं कहा मैं सुझाव है कि आप this article about exit buttons पढ़ा जिस पर चला जाता है बहुत महत्वपूर्ण कुछ कहना

[Activity.finish] बिल्कुल पीछे बटन दबाने के बराबर है।

+3

उस एंड्रयू के लिए धन्यवाद, यह एक दिमागी सलामी बल्लेबाज था। मैं हमेशा सोच रहा हूं कि गतिविधि। फिनिश() इसे बंद करने के लिए कतार पर रखने के बजाय इसे बंद कर देता है। उस मामले में कुछ काम करना होगा। – twig

संबंधित मुद्दे