how fix memory leak android apps using ddms tool
Android अनुप्रयोगों के लिए मेमोरी लीक का परीक्षण और निर्धारण कैसे करें:
ऐप को प्ले स्टोर पर धकेलने से पहले मेमोरी ऑप्टिमाइज़ेशन किसी भी डेवलपर के लिए एक बड़ी चुनौती है।
शीर्ष 10 एनीमे साइट्स अंग्रेजी डब
किसी ऐप का प्रदर्शन उसकी कार्यक्षमता के समान ही महत्वपूर्ण है। यह लेख पर आधारित है ढेर विश्लेषण DDMS (Dalvik Debug Monitor Service) के माध्यम से एक आवेदन।
ज्यादातर एंड्रॉइड एप्लिकेशन जेएवीए पर चलते हैं और इसमें थ्रेडिंग मुद्दे भी होते हैं।
महत्वपूर्ण लेख - Dalvik Debug Monitor Server (DDMS) टूल केवल एंड्रॉइड स्टूडियो 3.0 और निचले संस्करणों में उपलब्ध है। यदि आप स्टूडियो 3.0 और इसके बाद के संस्करण का उपयोग कर रहे हैं, तो अपने ऐप के सीपीयू, मेमोरी और नेटवर्क के उपयोग को प्रोफाइल करने के लिए एंड्रॉइड प्रोफाइलर का उपयोग करना सुनिश्चित करें।
यह ट्यूटोरियल डीडीएमएस टूल का उपयोग करके एंड्रॉइड एप्लिकेशन के लिए मेमोरी लीक को समझने और अनुकूलित करने में आपकी सहायता करेगा। मेमोरी का विश्लेषण करने से मेमोरी का अंदाजा होगा और मेमोरी वैल्यू का अनुकूलन करने से मेमोरी का रिसाव कम होगा।
आप क्या सीखेंगे:
- आमतौर पर इस्तेमाल की जाने वाली शर्तें
- DDMS (Dalvik Debug Monitor Server)
- डीडीएमएस वाया एडीटी लॉन्च करने के लिए कदम
- एंड्रॉइड स्टूडियो के माध्यम से डीडीएमएस लॉन्च करने के चरण
- निष्कर्ष
- अनुशंसित पाठ
आमतौर पर इस्तेमाल की जाने वाली शर्तें
नीचे सूचीबद्ध कुछ सामान्य शब्द हैं जिनका उपयोग हम इस परियोजना में करेंगे:
- ढेर - यह रनटाइम मेमोरी है जो आवंटन के लिए उपलब्ध है और गतिशील रूप से वितरित की जाती है। यह प्लेटफॉर्म पर निर्भर है।
- डालविक ढेर - Dalvik हीप zygote द्वारा वर्गों और डेटा का एक संयोजन है।
- युग्मनज - ज़िगोटे सिस्टम लोड होने पर ऐप प्रक्रियाओं को लॉन्च करने में मदद करता है।
- पीएसएस - यह एक प्रक्रिया के लिए मेमोरी के भीतर पृष्ठों की गिनती है, और KB में मापा जाता है।
- कचरा इकठा करना - कचरा संग्रह उन सभी वस्तुओं को ट्रैक कर रहा है जो अभी भी उपयोग किए जाते हैं और कचरा के रूप में आराम करते हैं।
DDMS (Dalvik Debug Monitor Server)
यह वह उपकरण है जो रनटाइम प्रदर्शन मॉनिटरिंग का विश्लेषण करने में मदद करता है। यह अनुप्रयोगों की रूपरेखा और ट्यूनिंग में भी मदद करता है।
डीडीएमएस द्वारा मुख्य सेवाएं प्रदान की जाती हैं
- कुल हीप ऑब्जेक्ट आबंटन आँकड़े
- ऐप थ्रेड स्टेटिक्स
- डिवाइस स्क्रीन कैप्चर
- डिवाइस फ़ाइल एक्सप्लोरर
- आने वाली कॉल और एसएमएस निरीक्षण
- स्थान डेटा निरीक्षण
- नेटवर्क स्टेटिक कंसोल
- लोगकैट (वर्बोज़, डीबग, ऐसर, एरर)
स्मृति रिसाव:
एक अनुप्रयोग उद्देश्य की सेवा के बाद भी लंबे समय तक एक वस्तु रखता है और यह वस्तु जीसी द्वारा एकत्र नहीं की जाती है।
मेमोरी लीक का पता लगाना:
आमतौर पर, एंड्रॉइड एप्लिकेशन एक ऐप के लिए एक डायलॉग पॉप अप दिखाता है जो प्रतिक्रिया नहीं दे रहा है या स्मृति अपवाद से बाहर सबसे खराब स्थिति में है। हर डिवाइस में सीमित आकार होता है और जब कोई एप्लिकेशन अतिरिक्त मेमोरी के लिए प्रयास करता है, तो अपवाद देखे जाते हैं।
एंड्रॉइड डिवाइस के कुल ढेर आकार की जांच करने के लिए, हम नीचे दिए गए आदेशों का उपयोग कर सकते हैं:
- cat / proc / meminfo | grep मेमोटल
- adb –d pull /system/build.prop
डीडीएमएस वाया एडीटी लॉन्च करने के लिए कदम
चरण 1: लॉन्च adt बंडल (आसानी से उपलब्ध है यहाँ ) या नीचे दिए गए लिंक का उपयोग करके विंडोज कॉन्फ़िगरेशन के लिए ADT बंडल स्थापित करें।
विंडोज़ 32: https://dl.google.com/android/adt/adt-bundle-windows-x86-20140702.zip
विंडोज़ 64: https://dl.google.com/android/adt/adt-bundle-windows-x86_64-20140702.zip
चरण 2: SDK पर क्लिक करें
चरण 3: टूल्स पर क्लिक करें
चरण 4: Monitor.bat (DDMS) पर क्लिक करें
ध्यान दें: हीप विश्लेषण के लिए, डिबग एपीके की आवश्यकता है।
ADT बंडल की सफल स्थापना के बाद, कमांड प्रॉम्प्ट पर जाएं (सेट पथ, यदि adb को आंतरिक या बाहरी कमांड के रूप में मान्यता प्राप्त नहीं है)।
Adb कमांड (adb devices) के माध्यम से सिस्टम से जुड़े डिवाइस की जाँच करें। एक बार एक डिवाइस कनेक्ट होने के बाद, यह डीडीएमएस स्क्रीन के साथ एक एप्लीकेशन के पैकेज नाम से जुड़ा होता है।
एंड्रॉइड स्टूडियो के माध्यम से डीडीएमएस लॉन्च करने के चरण
स्टूडियो -> टूल्स -> एंड्रॉइड -> एंड्रॉइड डिवाइस मॉनिटर -> मेनू से DDMS बटन पर क्लिक करें।
एक ढेर का विश्लेषण करने के लिए कदम
- एक ऐप के पैकेज नाम का चयन करें जो DDMS स्क्रीन पर दिखाई दे रहा है।
- अपडेट हीप आइकन चुनें।
- हर कार्रवाई के लिए मान लेने से पहले जीसी पर कारण पर टैप करें।
- अब कमांड प्रॉम्प्ट रन कमांड पर - adb शेल डंप्स मेमिनफो और प्रेस एंटर करें।
- मान प्रॉम्प्ट पर दिखाई देंगे।
- PSS कुल, देशी, दलविक, हीप साइज, हीप फ्री, हीप-एलोकेट ऐसे मूल्य हैं जो डेवलपर्स को मेमोरी क्रैश को डीबग करने में मदद करेंगे।
- डेटा का बेहतर प्रतिनिधित्व एक डेवलपर के लिए काम को आसान बना देगा।
- डेटा इस तरह होना चाहिए:
- GC पर कारण क्लिक करने के बाद वस्तुएं मूल्य।
- PSS कुल
- देशी ढेर- ढेर का आकार
- डाल्विक ढेर- ढेर का आकार
- ढेर का आकार
- देशी ढेर- ढेर आवंटन
- Dalvik हीप- ढेर आवंटन
- ढेर आवंटन का कुल
- देशी ढेर- ढेर मुक्त
- Dalvik हीप- ढेर मुक्त
- कुल ढेर मुक्त
- ऑब्जेक्ट्स (DDMS से जीसी पर क्लिक करने के बाद)
- % ने% फ्री का उपयोग किया
आदर्श परीक्षण: बेहतर ऐप विश्लेषण के लिए, एक ऐप को बैकग्राउंड में रखकर अलग-अलग परिदृश्यों को करने की कोशिश करें, और एक ही पृष्ठ पर उतरकर, आमतौर पर उपयोग किए जाने वाले परिदृश्यों का पूरा प्रवाह करें।
निचले-अंत डिवाइसों का उपयोग करने का प्रयास करें, क्योंकि मेमोरी के कारण सबसे आम दुर्घटना देखी जाती है जो मेमोरी आउट (OOM) से बाहर है।
डीडीएमएस स्क्रीन
दलविक मूल्यों के नमूने
निष्कर्ष
इस लेख का उपयोग डीडीएमएस उपकरण का उपयोग करके ढेर विश्लेषण का परीक्षण करने के लिए किया जा सकता है। मापदंडों के लिए सही मान एंड्रॉइड डेवलपर्स को मेमोरी का अनुकूलन करने में मदद करेंगे।
परीक्षण उपकरणों का ज्ञान अच्छा है लेकिन उन उपकरणों का कुशल तरीके से उपयोग करना एक कला माना जाता है।
हैप्पी लर्निंग !!
अनुशंसित पाठ
- एंड्रॉइड और आईओएस मोबाइल ऐप के परीक्षण के लिए ऐपियम ट्यूटोरियल
- शीर्ष 20+ मेमोरी लीक डिटेक्शन टूल जावा, सी ++ के लिए लिनक्स और विंडोज पर
- TestComplete टूल का उपयोग करके Android एप्लिकेशन को स्वचालित कैसे करें
- रोबोटियम के साथ शुरुआत करना - सबसे लोकप्रिय Android एप्लिकेशन UI परीक्षण उपकरण
- Android और iOS उपकरणों के लिए 2021 में 10 सर्वश्रेष्ठ परियोजना प्रबंधन ऐप्स
- मोबाइल UI परीक्षण ट्यूटोरियल (iOS और Android ऐप्स का GUI परीक्षण)
- Android App के लिए Appium टेस्ट बनाएँ
- फ्रीलांसरों के लिए 10 सर्वश्रेष्ठ समय ट्रैकिंग ऐप्स (2021 चयन)