मुझे उत्सुकता है कि नीचे एक स्मृति रिसाव क्यों है क्योंकि mHandler मुख्य थ्रेड पर बनाया गया है और अब जब डस्ट्रॉय को बुलाया जाता है तो यह थ्रेड को मारता है? गतिविधि नष्ट होने के बाद हैंडलर कैसे मौजूद हो सकता है? मैंने एक नया धागा नहीं बनाया है। क्या मैं समझता हूं कि एक हैंडलर अगर इसमें चीजें हैं तो मैं धागा नष्ट होने के बाद भी संदेश कतार रहूंगा?एंड्रॉइड - मुख्य रूप से हैंडलर मेमोरी लीक का कारण बन सकता है?
संदर्भ दस्तावेज़ im पढ़ने here
तो आपकी कहानियां अगर हैंडलर के कतार में संदेश हैं तो इसे चलाना जारी रखना चाहिए, भले ही इसे खत्म करने पर गतिविधि बनाई गई हो, है ना? – j2emanue
और मेरे उदाहरण के मामले में, हैंडलर मुख्य थ्रेड से जुड़ा हुआ है। और मैं मुख्य धागे looper के लिए runnables पोस्ट कर रहा हूँ। अब जब गतिविधि डेस्ट्रॉय पर कॉल करती है क्योंकि मुख्य थ्रेड्स लूपर कतार में अभी भी संदेश हैं तो जीसी गतिविधि एकत्र नहीं करेगा? या यह है कि जीसी दौड़ने योग्य संदर्भ के कारण गतिविधि एकत्र नहीं करेगा? देखें मेरा मतलब क्या है? मान लें कि रननेबल में कोई गतिविधि संदर्भ नहीं था? क्या यह अभी भी लीक हो जाएगा? – j2emanue
@ j2emanue यदि आपके रननेबल में कोई गतिविधि संदर्भ नहीं है, तो उस स्थिति में गतिविधि रिसाव नहीं होगा, लेकिन फिर भी मुख्य धागा जीवित रहेगा क्योंकि इसे चलने योग्य संदेश कतार में ईवेंट को समाप्त करना होगा। –