जैसा कि मैं इसे समझता हूं (यह नहीं कि मैं सही हूं) जब एप्लिकेशन उनके साथ समाप्त हो जाता है तो ड्रॉबल्स को आम तौर पर स्मृति से हटा दिया जाता है। हालांकि बिटमैप्स को मैन्युअल रूप से पुनर्नवीनीकरण की आवश्यकता होती है, और कभी-कभी उन्हें एक विशेष वर्ग भी ठीक से संभालने के लिए लिखा जाता है।ड्राइंग योग्य बनाम एकल पुन: प्रयोज्य बिटमैप स्मृति के साथ बेहतर है?
myView.setBackgroundDrawable(getResources().getDrawable(R.drawable.my_image));
myView1.setBackgroundDrawable(getResources().getDrawable(R.drawable.my_image1));
myView2.setBackgroundDrawable(getResources().getDrawable(R.drawable.my_image2));
तो जैसे कुछ
बजाय बिटमैप के साथ:
Bitmap tmpBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.my_image);
myView.setImageBitmap(tmpBitmap);
tmpBitmap.recycle();
tmpBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.my_image1);
myView1.setImageBitmap(tmpBitmap);
tmpBitmap.recycle();
tmpBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.my_image2);
myView2.setImageBitmap(tmpBitmap);
tmpBitmap.recycle();
मैंने मेरा प्रश्न स्मृति और लीक के संबंध में है, यह करने के लिए अधिक फायदेमंद बस इस तरह की तरह ड्रॉएबल साथ रहना है यह भी पढ़ें कि आपको बिटमैप्स पर रीसायकल() विधि के बारे में सावधान रहना होगा क्योंकि उन्हें अभी भी उपयोग में हटाया जा सकता है? ऐसा लगता है कि इन मुद्दों को विभिन्न रूपों में पॉप अप करना जारी रहता है, लेकिन मुझे इस मामले पर किसी से भी सीधे जवाब नहीं मिल सकता है। एक व्यक्ति एक बिटमैप पुन: उपयोग और हर बार इस्तेमाल करने के बाद पुनरावृत्ति करने के लिए कहते हैं, और दूसरों का कहना है कि उपयोग ड्रॉएबल और एक unbindDrawables() विधि (इस मैं क्या प्रयोग कर रहे है):
private void unbindDrawables(View view) {
if (view.getBackground() != null) {
view.getBackground().setCallback(null);
}
if (view instanceof ViewGroup) {
for (int i = 0; i < ((ViewGroup) view).getChildCount(); i++) {
unbindDrawables(((ViewGroup) view).getChildAt(i));
}
((ViewGroup) view).removeAllViews();
}
}
कोई भी लागू अंतर्दृष्टि ज्यादा हालांकि सराहना की जाएगी । धन्यवाद
धन्यवाद, बहुत अच्छी जानकारी। मुझे findViewById (R.Id.Image_name) के माध्यम से मेरे विचार मिलते हैं; btw। निश्चित नहीं है कि यह किसी भी तरह संदर्भ के संदर्भ को छोड़ देता है या नहीं। –