उपकरण मुझे एक NSDate चर का रिसाव रिपोर्ट कर रहा है। लेकिन अगर मैं बरकरार रखता हूं और रिलीज़ करता हूं तो यह ऑटोरेलीज पूल द्वारा मुझे लगता है कि रिलीज करने में सक्षम होना चाहिए। शायद मैं गलत गिन रहा हूं लेकिन मुझे यकीन नहीं करना पड़ेगा। रेफसीट पर एक नज़र डालें। यदि मैं [कक्षा आवंटन] इसे 1 की बरकरार गिनती के साथ आना चाहिए, तो अगर मैं उस ऑब्जेक्ट को स्वतः स्वामित्व देता हूं, तो यह मुक्त हो सकता है, या नहीं?उपकरण में लीक, संदर्भ गणना और Autorelease
उत्तर
उपकरण को बरकरार रखे हुए है और आप के लिए विज्ञप्ति कहते हैं। यही है कि "रेफसीटी" कॉलम आपको दिखाता है: कुल रनिंग।
अगर मैं [क्लास alloc] 1 की गिनती को बनाए रखने के साथ आने चाहिए, ...
और वास्तव में यह करता है; सूची में यह पहली पंक्ति है।
... तो अगर मैं उस ऑब्जेक्ट को स्वतः स्वामित्व देता हूं, तो यह मुक्त हो सकता है, या नहीं?
Autorelease तत्काल -1 नहीं है; यह बाद में रिलीज का कारण बनता है, और है जो -1 है।
तो तुम हो:
- आवंटन: +1 (= 1)
- autorelease: 0 अब के लिए; का कारण बनता है एक रिलीज बाद में (कोई परिवर्तन नहीं अब, इसलिए अभी भी = 1)
- बनाए रखें: +1 (= 2)
- रिलीज: -1 (= 1)
- बनाए रखें: +1 (= 2)
- बनाए रखें: +1 (= 3)
- रिलीज: -1 (= 2)
- रिलीज: -1 (= 1)
ध्यान दें कि तीन विज्ञप्ति में से एक autorelease की वजह से एक है । केवल तभी -1 होता है।
ऑब्जेक्ट को हटाए जाने के लिए ऑब्जेक्ट को एक और रिलीज की आवश्यकता है। ऐसा होने तक, यह नहीं होगा।
और हां, किसी ऑब्जेक्ट के लिए यह संभव है कि उसमें मारने के लिए पर्याप्त उत्कृष्ट ऑटोरेलीज़ हों, जब ऐसा होने से पहले बनाए रखा जाए और इस प्रकार जीवित रखा जाए। मैंने देखा कि यह एक वस्तु के साथ एक बार होता है जिसे मैं बरकरार रखता था, लेकिन वह बाध्यकारी द्वारा उपयोग की जाने वाली संपत्ति का मूल्य था; बाध्यकारी ने मूल्य को बरकरार रखा और इसलिए मैंने इसे अपने स्वयं के आखिरी स्वामित्व को स्वत: समाप्त करने के बाद भी जीवित रखा।
- 1. स्वचालित संदर्भ गणना (एआरसी)
- 2. पायथन संदर्भ गणना और ctypes
- 3. एंड्रॉइड: एक संदर्भ और मेमोरी लीक के संदर्भ
- 4. ऑब्जेक्ट्स के लिए संदर्भ-गणना
- 5. Autorelease या Autorelease के लिए नहीं
- 6. मेमोरी लीक्स पर स्वचालित संदर्भ गणना (एआरसी) का प्रभाव
- 7. Autorelease स्कोप
- 8. एनएसआईएनवोकेशन और एआरसी (स्वचालित संदर्भ गणना)
- 9. एक गणना स्तंभ संदर्भ एक और तालिका
- 10. आवंटन में ऑब्जेक्टिव-सी ब्लॉक या लीक उपकरण
- 11. स्वत: संदर्भ गणना
- 12. मैं एआरसी मोड में संदर्भ गणना कैसे सत्यापित करूं?
- 13. उपकरण एंड्रॉइड में मेमोरी लीक की जांच करने के लिए
- 14. malloc + स्वचालित संदर्भ गणना?
- 15. उद्देश्य-सी मेमोरी प्रबंधन (आवंटन और autorelease)
- 16. Autorelease बनाम रिलीज
- 17. autorelease बनाम जारी
- 18. android.os.Message में मेमोरी लीक और/या हैंडलर.remove कॉलबैक?
- 19. Autorelease पूल का उपयोग क्यों करें?
- 20. रूबी प्रतीक # to_proc 1.9.2-पी 180 में संदर्भ लीक?
- 21. ब्लैकबेरी विकास - संदर्भ और उपकरण पर कोई सुझाव?
- 22. डायरेक्टएक्स 10 संसाधन लीक
- 23. autorelease पूल - मुख्य AutoreleasePool जारी?
- 24. त्रुटि 'autorelease' अनुपलब्ध है: स्वचालित संदर्भ गिनती मोड में उपलब्ध नहीं है
- 25. आईफोन: ओपनल और ऑडियोटूलबॉक्स लीक
- 26. माइक्रोसॉफ्ट.एफएसएचआरपी.कंट्रोल.मेलबॉक्स में मेमोरी लीक?
- 27. इंस्ट्रूमेंट्स लीक और ऑब्जेक्ट ऑलोक का उपयोग करना: क्या ऑटोरेलेज्ड ऑब्जेक्ट्स लीक के रूप में गिना जाता है?
- 28. उद्देश्य-सी स्वचालित संदर्भ गणना (एआरसी) और कुंजी-मूल्य
- 29. एआरसी में '[[कुछ बनाए रखने] autorelease]' के बराबर क्या है?
- 30. लीक