Android डेवलपर साइट के अनुसार, Bitmap.recycle()
विधि परिभाषा है:जब (अगर बिल्कुल) मुझे Bitmap.recycle() का उपयोग करना चाहिए?
नि: शुल्क देशी इस बिटमैप के साथ जुड़े वस्तु, और पिक्सेल डेटा के संदर्भ में स्पष्ट
मैं कुछ विकसित किया है अनुप्रयोग जो बहुत सारे बिटमैप्स बना रहे/डीकोड कर रहे हैं, और परिणाम बिटमैप ऑब्जेक्ट्स को ImageView
एस पर डाल दें।
बिटमैप आकार excceded वीएम बजट
और
स्मृति त्रुटि से बाहर
इसके अलावा मुझे यकीन है: कभी कभी मैं इस तरह के रूप में प्रसिद्ध अपवाद मिल गया है मेरे पास कोई मेमोरी लीक नहीं है जो इसका कारण बन सकती है।
कई खोजों के बाद, मैंने "रीसायकल" विधि की खोज की, और बिटमैप की मूल स्मृति को मुक्त करने के लिए इसका उपयोग नहीं किया। ऐसा लगता है जैसे यह बहुत की मदद करता है।
मैं पूछ रहा हूं कि ऐसा कुछ है जो मुझे इस स्थिति पर करना है, क्योंकि मुझे पता है कि सिस्टम इसे स्पष्ट रूप से कॉल किए बिना ऐसा कर रहा है (है ना? शायद मैं गलत हूं)।
क्या मुझे इस तरह की स्थितियों में इस विधि का उपयोग करना चाहिए?
मुझे इस प्रक्रिया का उपयोग किस स्थितियों में करना चाहिए?
क्या मुझे इस विधि का उपयोग करना चाहिए?
अग्रिम धन्यवाद।
अद्यतन:
गूगल ने हाल ही में this गाइड तैनात है, जो कहते हैं:
एंड्रॉयड 2.3.3 (एपीआई स्तर 10) और निचले पर, पुनरावृत्ति का उपयोग कर() की सिफारिश की है। यदि आप अपने ऐप में बड़ी मात्रा में बिटमैप डेटा प्रदर्शित कर रहे हैं, तो आप OutOfMemoryError त्रुटियों में भागने की संभावना रखते हैं। रीसायकल() विधि एक ऐप को जितनी जल्दी हो सके स्मृति को पुनः प्राप्त करने की अनुमति देती है।
यह 'कॉल करने के लिए recyle' आवश्यक नहीं है। यह मदद कर सकता है, लेकिन केवल तभी जब आप इसे सही तरीके से उपयोग कर रहे हों। अपने 'बिटमैप' ऑब्जेक्ट में 'वीक रेफरेंस' बनाना वास्तव में बहुत आसान है और इसके बदले में वापस आना। [आपको यह Google आईओ टॉक देखना चाहिए] (http://www.youtube.com/watch?v=_CruQY55HOk) – adneal
@aneal: धन्यवाद, वीडियो को बहुत समय पहले ही देखा गया है। –