/ / ImageView android.graphics.Canvas.throwIfRecycled अपवाद का कारण बनता है - Android, अपवाद, कैनवास, बिटमैप, छवि

ImageView android.graphics.Canvas.throwIfRecycled अपवाद का कारण बनता है - एंड्रॉइड, अपवाद, कैनवास, बिटमैप, छविदृश्य

मैं निम्नलिखित कभी-कभी प्राप्त कर रहा हूंअपवाद। ऐसा शायद ही कभी होता है कि मैं किसी भी परिस्थिति का पता लगाने में सक्षम नहीं था, जो इसे ट्रिगर कर सकता है - मैंने "इसे ज्यादातर अन्य उपयोगकर्ताओं से हड़बड़ाहट वाली अपवाद रिपोर्टों में देखा है।" यह संभावित रूप से गतिविधि से बाहर और वापस स्विच करने से संबंधित हो सकता है (उदाहरण के लिए होम बटन), लेकिन यह केवल एक अनुमान है।

class java.lang.RuntimeException    android.graphics.Canvas.throwIfRecycled:955 (Canvas: trying to use a recycled bitmap android.graphics.Bitmap@30095b30)

पूर्ण लॉगकट डंप यहां: http://pastebin.com/2RjjgWHH

मैंने "संबंधित प्रश्नों को देखा, लेकिन उनमें से कोई भी लागू नहीं होता है। बात यह है कि, मैं किसी भी बिटमैप को मैन्युअल रूप से पुन: उपयोग नहीं कर रहा हूं।" मैं बड़े बिटमैप को लोड नहीं कर रहा हूं या बिटमैप को जोड़-तोड़ नहीं कर रहा हूं। मेरे पास ए है एकल, छोटे ImageView एक XML लेआउट से लोड किए गए मेरे पूरे ऐप में आइकन, और मैं इसे स्विच करने के अलावा प्रोग्रामेटिक रूप से कुछ भी नहीं करता LinearLayout के बीच VISIBLE तथा GONE। मूल रूप से ऐप में केवल अन्य चीजें दो हैं WebViewएस, ए TextView और ए ProgressDialog.

<ImageView android:id="@+id/imageView1" android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/icon_a" android:focusableInTouchMode="false" android:focusable="false" android:layout_gravity="center_horizontal"></ImageView>

वहाँ कुछ विशेष आप के साथ क्या करने की जरूरत है ImageView इसे पुनर्नवीनीकरण होने से बचाने के लिए, या इसे पुनर्नवीनीकरण होने पर इसे फिर से जांचें और बीच-बीच में स्विच करते रहें VISIBLE तथा GONE? ज्यादातर समय यह पूरी तरह से काम करता है।

उत्तर:

जवाब के लिए 0 № 1

यह अपवाद एक विज्ञापन एसडीके के कारण हुआ था, और हाल ही में एसडीके रिलीज में तय किया गया है।