2012-06-16 16 views
23

मैं पूरे इंटरनेट \ goolge \ stackoverflow पर देखता हूं और मुझे पूर्ण और सरल मार्गदर्शिका नहीं मिल सका जो मुझे बता सकता है कि मेरे एंड्रॉइड ऐप में मेमोरी रिसाव है या नहीं। क्या कोई मुझे बता सकता है कि इसे कैसे करें, या इससे बेहतर मुझे इसके लिए अच्छी मार्गदर्शिका भी दें?मैं कैसे निर्धारित कर सकता हूं कि मेरे एंड्रॉइड ऐप में मेमोरी रिसाव है या नहीं?

मेरा ऐप बैटरी के बारे में डेटा एकत्र करता है और उसे फोन पर डीबी में सहेजता है। प्रत्येक बार जब बैटरी (ACTION_BATTERY_CHANGED) में परिवर्तन होता है, तो मैं जांचता हूं कि बैटरी प्रीसेट बदल गया है और इस मामले में मैं कुछ डेटा सहेजता हूं।

यह ऐप लेता है (25-30) एमबी रैम मुझे लगता है कि यह इतना आसान ऐप के लिए बहुत अधिक है। मुझे संदेह है कि इसमें स्मृति रिसाव है।

उत्तर

23

आप मेट का उपयोग कर सकते

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

मेट

http://android-developers.blogspot.in/2011/03/memory-analysis-for-android.html

कैसे MAT

http://kohlerm.blogspot.in/2009/07/eclipse-memory-analyzer-10-useful.html

का उपयोग करने के लिए

http://android-developers.blogspot.in/2011/03/memory-analysis-for-android.html

http://ttlnews.blogspot.in/2010/01/attacking-memory-problems-on-android.html

मेट की

ग्रहण एकीकरण

http://www.eclipse.org/mat/downloads.php

http://www.eclipse.org/forums/index.php/m/878338/

अद्यतन साइट: http://download.eclipse.org/mat/1.1/update-site/

ग्रहण बर्ट के एकीकरण (इस पर निर्भरता)

http://wiki.eclipse.org/BIRT_Update_Site_URL

http://download.eclipse.org/birt/update-site/3.7-interim

Memory Analyzer Tool in android?

1

आम तौर पर आप एक आवेदन का उपयोग करें और यह स्मृति

12 MB ... 13.5 एमबी जमा है अगर .. .15 एमबी ... एक बादल के बारे में सोचें जो आर्द्रता जमा करता है ... आदि

यदि आप अपने ऐप की तुलना में इस पैटर्न को मेमोरी रिसाव देखते हैं।

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

2

जब मुझे आपके जैसी समस्या का सामना करना पड़ा, तो मुझे लीक कैनरी मिला। यह डीबग बिल्ड में रनटाइम के दौरान मेमोरी लीक का पता लगाने में मदद करता है और स्टैकट्रैक इतिहास के लिए आरामदायक यूआई प्रदान करता है।यहां आप एंड्रॉइड विकास के लिए स्मृति लीक के साथ-साथ कुछ अन्य उपयोगी संकेतों का पता लगाने के लिए इस टूल के बारे में अधिक जानकारी पढ़ सकते हैं: http://cases.azoft.com/4-must-know-tools-for-effective-android-development/। उम्मीद है कि यह आपके और अन्य मोबाइल डेवलपर्स के लिए काम करता है!

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

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