6

मेरे पास एक कस्टम व्यू में, मैं Canvas.drawBitmap का उपयोग एक स्रोत बिटमैप के साथ कर रहा हूं जो 2048px से बड़ा है। यह निश्चित रूप से समस्याएं पैदा करता है जब हार्डवेयर त्वरण सक्षम होता है, लॉगकैट "डब्ल्यू/ओपनजीएल रेन्डरर (4 9 68) को बाहर निकालने के साथ: बिटकमैप को बनावट में अपलोड करने के लिए बहुत बड़ा होता है" प्रत्येक बार drawBitmap कहा जाता है।मैं अपने दृश्यों में से किसी एक को सॉफ्टवेयर में प्रस्तुत करने के लिए क्यों मजबूर नहीं कर सकता?

तो इस के आसपास काम करने के लिए मैंने अपने दृश्य पर setLayerType(View.LAYER_TYPE_SOFTWARE, null) पर कॉल करने का प्रयास किया। एकमात्र समस्या यह है कि यह मदद नहीं करता है। जब मैं अपना ऐप चलाने की कोशिश करता हूं, तो लॉगकैट अभी भी चेतावनियां देगा, और कुछ भी तैयार नहीं होता है।

मुझे समझ में नहीं आ रहा है कि ऐसा क्यों है। This article on the Android site स्पष्ट रूप से कहा गया है:

आप नीचे दिए गए कोड के साथ रनटाइम पर एक दृश्य के लिए हार्डवेयर त्वरण अक्षम कर सकते हैं:

myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 

वहाँ कुछ मैं गलत कर रहा हूँ है? एंड्रॉइड सेटलेयर टाइप कॉल का सम्मान क्यों नहीं कर रहा है?


[मामले में यह मायने रखती है: मैं चल एंड्रॉयड 3.2 एक सैमसंग गैलेक्सी टैब 10.1 पर अपने परीक्षण प्रदर्शन कर रहा हूँ]

+0

चेक कैनवास.इसहार्डवेयर एक्सेलेरेटेड()। यह एक दृश्य से अलग हो सकता है – imort

उत्तर

0

कोशिश पहले बिटमैप आकार बदलने के लिए। CreateBitmap का प्रयोग करें।

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

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