दिलचस्प पोस्ट
हैंडल बटन रीसाइक्लिंगदृश्य में एक पंक्ति के अंदर क्लिक करें स्पार्क जॉब के लिए जार जोड़ें – स्पार्क-सबमिट करें एंड्रॉइड: पृष्ठभूमि छवि का आकार (पिक्सेल में) जो सभी उपकरणों का समर्थन करता है पायथन में सिवाय / सिवाय: आप अपवादों को ठीक से कैसे अनदेखा कर सकते हैं? एक संख्यात्मक सीमा को सत्यापित करने के लिए नियमित अभिव्यक्ति का उपयोग करना SQLite तालिका से स्तंभ हटाएं सी # टीसीपी के माध्यम से प्राप्त करने के बाद किसी संरचना को डीएसराइलाइज़ करना बटन पर छाया कैसे प्रदान करें पदानुक्रमित एलडीडी (1) टेम्पलेट में जावास्क्रिप्ट को फ्लास्क से डेटा कैसे प्राप्त कर सकता हूं? क्या इससे पहले किफ़ायती झंडा करता है? क्या वर्चुअल फ़ंक्शंस डिफ़ॉल्ट पैरामीटर हैं? SQL सर्वर पर चल रहे प्रश्नों की सूची पहला अनुक्रम आइटम ढूंढें जो मानदंड से मेल खाता है गिट / एसएनएन द्वारा कोड को उपसर्ग? <Revision-number> डाल दिया जाए

मैट (एक्लिप्स मेमोरी एनालाइज़र) – मेमोरी डंप से बिटमैप को कैसे देखें

मैं एक्लिप्स मेमोरी एनालाइज़र (जिसे मेट के रूप में भी जाना जाता है) की सहायता से अपने एंड्रॉइड ऐप के मेमोरी उपयोग का विश्लेषण कर रहा हूं। कभी-कभी मुझे android.graphics.Bitmap वर्ग के अजीब उदाहरण मिल सकते हैं, ढेर के बड़े हिस्से का उपयोग कर सकते हैं। समस्या यह है कि मुझे इस बिटमैप का स्रोत नहीं मिल रहा है, कोई फ़ाइल नाम नहीं, कोई संसाधन आईडी नहीं है , कुछ नहीं। बिटमैप के लिए मुझे जो जानकारी मिलती है वह निम्नलिखित है: bitmap_info

छवि पिक्सल के सरणी के साथ फ़ील्ड mBuffer , मुझे लगता है। लेकिन यह कुछ आंतरिक एंड्रॉइड प्रारूप में है, पीएनजी नहीं।

प्रश्न : मैं मेमोरी डंप से इस बिटमैप द्वारा दिखाए गए छवि को कैसे देख सकता हूं?

Solutions Collecting From Web of "मैट (एक्लिप्स मेमोरी एनालाइज़र) – मेमोरी डंप से बिटमैप को कैसे देखें"

मुझे ऐसे बिटमैप देखने का एक तरीका मिला है:

  • सबसे पहले, आपको GIMP को डाउनलोड और इंस्टॉल करना होगा
  • इसके बाद, मैट में अपना Bitmap ऑब्जेक्ट mBuffer , पॉपअप मेनू में राइट-क्लिक करें, पॉपअप मेनू में "कॉपी करें" -> "मूल्य को फ़ाइल में सहेजें" मेनू आइटम चुनें और कुछ सरणी में इस सरणी का मूल्य सहेजें
  • उस फाइल को एक्सटेंशन दें
  • जीआईएमपी लॉन्च करें, "फाइल" -> "ओपन" चुनें, अपनी .data फ़ाइल चुनें और ओपन बटन पर क्लिक करें
  • "रॉ डेटा से लोड छवि" संवाद दिखाई देगा। यहां आपको अपने बिटमैप के लिए सही पैरामीटर सेट करने की आवश्यकता है
  • सबसे पहले, "छवि प्रकार" को "आरजीबी अल्फा" के रूप में चुनें (अधिकांश एंड्रॉइड संसाधनों में यह छवि प्रकार है, लेकिन आपको अन्य छवि प्रकारों के साथ प्रयोग करना पड़ सकता है)
  • दूसरा, अपने बिटमैप के लिए सही चौड़ाई और ऊंचाई सेट करें (सही आयाम मेमोरी डंप में पाया जा सकता है)

उस बिंदु पर आपको मूल छवि का पूर्वावलोकन पहले से ही देखना चाहिए। अगर आपने ऐसा नहीं किया है, तो आप "रॉ डेटा से लोड इमेज से" संवाद में कुछ अन्य मापदंडों को बदलने का प्रयास कर सकते हैं।

नोट: छवि की एक चौड़ाई और ऊंचाई प्राप्त करने के लिए आप MAT में mWidth और mHeight फ़ील्ड में विशेषताओं अनुभाग में प्रश्न के रूप में चित्र में दिखाए जा सकते हैं।

आप मेम से पीरियड मेमरी डम्प को कमांड लाइन पर इमेजमेजिक के साथ कन्वर्ट कर सकते हैं।

संबंधित Bitmap ऑब्जेक्ट के लिए MAT राइट क्लिक करें mBuffer फ़ील्ड पर क्लिक करें और "कॉपी करें" -> "Save Value to File" चुनें, फ़ाइल को .rgba एक्सटेंशन के साथ नाम .rgba

आपको बिटमैप चौड़ाई और ऊंचाई को mWidth और mHeight फ़ील्ड पर ध्यान देना होगा, जिसे आप बिटमैप ऑब्जेक्ट में देख सकते हैं।

ImageMagick कमांड लाइन टूल्स स्थापित हो रही हैं (उबंटू के लिए apt-get install imagemagick ), आप निम्न पैरामीटर के साथ कमांड को convert करते हैं।

 convert -size 'width'x'height' -depth 8 filename.rgba filename.png 

उदाहरण के लिए

  convert -size 680x1209 -depth 8 phone_decor.rgba phone_decor.png 

आप eog phone_decor.rgba जरिए जनरेटेड पीएनजी फाइल की जांच कर सकते हैं, जैसे कि Ubuntu पर eog phone_decor.rgbaeog phone_decor.rgba आसानी से।