2012-12-05 13 views
5

में मेमोरी अपवाद से बाहर फेंकता है। मेरे पास सैमसंग गैलेक्सी एस 3 है, जो आकार ~ 3000 x 2000 के पिचरों को कैप्चर करने में सक्षम है। और, मैं वर्तमान में एक ऐसे अनुप्रयोग को विकसित कर रहा हूं जिसके लिए चित्रों को कैप्चर करना आवश्यक है। मैं अपने फोन को डीबगर के रूप में उपयोग करता हूं और मैंने चित्र को कैप्चर करने के लिए डिवाइस को सबसे अच्छा संभव आकार सेट किया है।एंड्रॉइड ऑन पिक्चरटेकन कॉलबैक बिटमैप.decodeByteArray

हालांकि, अगर मैं इस सेटिंग का उपयोग करता हूं, तो कॉलबैक onPictureTakenBitmap.decodeByteArray विधि में इसकी पहली पंक्ति में स्मृति त्रुटि से बाहर निकलता है जहां मैं कब्जे वाले बाइट्स को बिटमैप में डीकोड करने का प्रयास करता हूं। अगर मैं Bitmap.Options.inSampleSize = 2 का उपयोग करता हूं, तो स्मृति त्रुटि में से कोई भी नहीं होता है।

मैं चाहता हूं कि एप्लिकेशन सबसे अच्छा डिवाइस कैप्चर करने में सक्षम हो, और डिवाइस अपने कैमरे के एप्लिकेशन में ऐसा करता है लेकिन मैं अपने में नहीं कर सकता। मुझे समझ में नहीं आता मैं कैसे इस समस्या को दूर कर सकते हैं?

+0

छवि को संभालने के लिए बहुत बड़ा हो सकता। तो स्मृति लीक। – Raghunandan

+0

शायद यह है, लेकिन मेरा एप्लिकेशन उन चित्रों को कैप्चर नहीं कर सकता जो डिवाइस के सर्वोत्तम आकार के हैं। डिवाइस अपने कैमरे के आवेदन में छवियों को कैप्चर करने में सक्षम है, मैं क्यों नहीं कर सकता? – rainbowunicorn

+0

कृपया कुछ कोड पोस्ट करें ताकि समुदाय आपकी मदद कर सके। – Raghunandan

उत्तर

0

एंड्रॉइड में एक एप्लिकेशन को स्मृति के 16 एमबी के आसपास और उसके साथ काम करना चाहिए। यदि आप छवि गुणवत्ता को प्राप्त करने के लिए इन नमूना आकार को बहुत बड़ी संख्या में सेट करने जा रहे हैं, या यदि आप नमूनाकरण नहीं करते हैं तो यह आपको स्मृति अपवाद से बाहर करने की संभावना है। इस लिंक और नमूना आवेदन बाहर

की जांच: Displaying Bitmaps Efficiently

संबंधित मुद्दे