मैं लगातार इस समस्या हो रही है और मैं इसके बारे में क्या करना है पता नहीं है का उपयोग करने की कोशिश कर।कैनवस: एक पुनर्नवीनीकरण बिटमैप एंड्रॉयड
मैंने this लाइब्रेरी का उपयोग किया है और जब मुझे फसल की गई छवि मिलती है तो मैं इसे स्थिर चर में सहेजता हूं और अगली गतिविधि में जाता हूं। जब मैं अगली गतिविधि में पहुंचता हूं, तो मैं बिटमैप प्राप्त करने के लिए स्थिर चर का संदर्भ देता हूं और इसे स्केल करने का प्रयास करता हूं। लेकिन यह मुझे त्रुटि देता है।
यहाँ मैं क्या कर रहा हूँ है।
public void buttonCropClick(View view) throws IOException
{
imageView.setDrawingCacheEnabled(true);
imageView.buildDrawingCache(true);
Snapshot.CroppedBitmap = imageView.getDrawingCache(true);
imageView.setDrawingCacheEnabled(false);
startActivity(new Intent(this,RecommendationInfo.class));
}
RecommendationInfo
कक्षा में, मैं निम्नलिखित पंक्ति Snapshot.CroppedBitmap = imageView.getDrawingCache(true);
में बिटमैप मिल तो मैं स्थिर चर जो मैं अगले गतिविधि में संदर्भ और यह निम्नलिखित कार्य करने के लिए पारित में इस बिटमैप सहेजें।
public static Bitmap scaleDown(Bitmap realImage,boolean filter) {
float maxImageSize = HeightToSet;
float ratio = Math.min(
(float) maxImageSize/realImage.getWidth(),
(float) maxImageSize/realImage.getHeight());
int width = Math.round((float) ratio * realImage.getWidth());
int height = Math.round((float) ratio * realImage.getHeight());
// Error here
Bitmap newBitmap = Bitmap.createScaledBitmap(realImage, width,height, filter);
return newBitmap;
}
मैंने पहले ही bitmap.recycle()
पर कॉल करने का प्रयास किया है। मुझे यह समस्या क्यों मिल रही है इसे हल करने के लिए मैं क्या कर सकता हूं? मेरा लॉगकैट यहाँ है।
07-14 03:09:43.713: E/AndroidRuntime(19653): FATAL EXCEPTION: main
07-14 03:09:43.713: E/AndroidRuntime(19653): java.lang.RuntimeException: Canvas: trying to use a recycled bitmap [email protected]
07-14 03:09:43.713: E/AndroidRuntime(19653): at android.graphics.Canvas.throwIfRecycled(Canvas.java:955)
07-14 03:09:43.713: E/AndroidRuntime(19653): at android.graphics.Canvas.drawBitmap(Canvas.java:1012)
07-14 03:09:43.713: E/AndroidRuntime(19653): at android.graphics.Bitmap.createBitmap(Bitmap.java:462)
07-14 03:09:43.713: E/AndroidRuntime(19653): at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:349)
07-14 03:09:43.713: E/AndroidRuntime(19653): at com.example.Libraries.Snapshot.scaleDown(Snapshot.java:42)
07-14 03:09:43.713: E/AndroidRuntime(19653): at com.example.androidtestproject.RecommendationInfo.SetRecommendationValues(RecommendationInfo.java:195)
07-14 03:09:43.713: E/AndroidRuntime(19653): at com.example.androidtestproject.RecommendationInfo.access$5(RecommendationInfo.java:183)
07-14 03:09:43.713: E/AndroidRuntime(19653): at com.example.androidtestproject.RecommendationInfo$1.onClick(RecommendationInfo.java:154)
07-14 03:09:43.713: E/AndroidRuntime(19653): at android.view.View.performClick(View.java:2552)
07-14 03:09:43.713: E/AndroidRuntime(19653): at android.view.View$PerformClick.run(View.java:9229)
07-14 03:09:43.713: E/AndroidRuntime(19653): at android.os.Handler.handleCallback(Handler.java:587)
07-14 03:09:43.713: E/AndroidRuntime(19653): at android.os.Handler.dispatchMessage(Handler.java:92)
07-14 03:09:43.713: E/AndroidRuntime(19653): at android.os.Looper.loop(Looper.java:138)
07-14 03:09:43.713: E/AndroidRuntime(19653): at android.app.ActivityThread.main(ActivityThread.java:3701)
07-14 03:09:43.713: E/AndroidRuntime(19653): at java.lang.reflect.Method.invokeNative(Native Method)
07-14 03:09:43.713: E/AndroidRuntime(19653): at java.lang.reflect.Method.invoke(Method.java:507)
07-14 03:09:43.713: E/AndroidRuntime(19653): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)
07-14 03:09:43.713: E/AndroidRuntime(19653): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
07-14 03:09:43.713: E/AndroidRuntime(19653): at dalvik.system.NativeStart.main(Native Method)
07-14 03:09:45.515: E/TAG(20039): End of input at character 0 of
क्या त्रुटि यह आपके द्वारा दिया गया? – Alamri
मैंने प्रश्न अपडेट किया है कृपया – Mj1992
देखें कि आपका बिटमैप कहीं भी रीसाइक्लिंग किया गया है, आप इसे रीसायकल करने के बाद बिटमैप को कॉल नहीं कर सकते हैं। कृपया देखें कि क्या आप बिटमैप रीसाइक्लिंग कर रहे हैं या नहीं, दूसरी गतिविधि शुरू करने से पहले। – k0sh