मुझे यह खोजने की आवश्यकता है कि मेरे एंड्रॉइड ऐप में अड़चनें कहां हैं।
मैं किस प्रोफाइलिंग टूल या तकनीक का उपयोग कर सकता हूं?
मुझे यह खोजने की आवश्यकता है कि मेरे एंड्रॉइड ऐप में अड़चनें कहां हैं।
मैं किस प्रोफाइलिंग टूल या तकनीक का उपयोग कर सकता हूं?
जवाबों:
आप Traceview का उपयोग कर सकते हैं। यह आदर्श से बहुत दूर है, लेकिन काम करता है। यह आलेख वर्णन करता है कि इसका उपयोग कैसे करना है।
यह निर्भर करता है कि आप क्या परीक्षण करने जा रहे हैं।
यदि आप एंड्रॉइड के लिए एप्लिकेशन विकसित करते हैं, तो आपको टाइमिंग लॉगर वर्ग की कोशिश करनी चाहिए। टिमिंगलॉगर हेल्पर क्लास के उपयोग का वर्णन करने वाले इस लेख पर एक नज़र डालें ।
एक बहुत अच्छा उपकरण JMeter है और Android के लिए एक प्लगइन भी है।
यदि आप बाहरी उपकरणों का उपयोग नहीं करना चाहते हैं, लेकिन बहुत मानक तरीका है, बीता हुआ समय मापने के लिए, आपको System.nanoTime (!) का उपयोग करना होगा। आपको currentTimeMillis का उपयोग नहीं करना चाहिए, क्योंकि यह दीवार-घड़ी के समय को मापता है, क्योंकि कोई भी कंप्यूटर की घड़ी सही नहीं है (उन्हें सभी को कभी-कभी सही करने की आवश्यकता होती है) एक ऐसी प्रक्रिया है जो सिस्टम घड़ी को लगातार छोटे सुधारों को चलाता है और जारी करता है। छलांग दूसरे सुधार का उल्लेख नहीं है।
हालांकि करंट टाइममिल्स का उपयोग अक्सर किया जाता है, फिर भी समय और समय को मापना गलत है। किसी भी तरह, जब आह्वान में कुछ समय लगता है, तो आपको बहुत छोटे अंतराल पर सही ढंग से समय की उम्मीद नहीं करनी चाहिए। लेकिन यह एंड्रॉइड के साथ काम करने वाला मुद्दा नहीं होना चाहिए।
मैं आपको एक उदाहरण दिखाऊंगा:
long startTime = System.nanoTime();
// run/call the method
long endTime = System.nanoTime();
long diff = endTime - startTime ;
System.out.println("Elapsed milliseconds: " + diff /1000000);
आप इस निशुल्क पुस्तकालय पर भी एक नज़र डाल सकते हैं: http://jetm.void.fm/ ।
आप JMeter के लिए भी ट्यूटोरियल पा सकते हैं ।
Http://developer.android.com/training/articles/perf-tips.html में अनुशंसित एक और उपकरण है कैलिपर: https://code.google.com/p/caliper/ । (मैंने इसका उपयोग नहीं किया है, इसलिए मुझे इसके बारे में ज्यादा जानकारी नहीं है।)