मुझे केवल एक प्रोफाइलिंग टूल मिला है - http://code.google.com/p/android-ndk-profiler/। अब तक इसे काम करने में सक्षम नहीं था, इसलिए मुझे आश्चर्य है कि क्या अन्य टूल्स उपलब्ध हैं। मुझे किसी भौतिक डिवाइस पर प्रोफ़ाइल करने की आवश्यकता है, क्योंकि मेरा एप्लिकेशन एमुलेटर पर भी काम नहीं करता है।एंड्रॉइड: मूल कोड प्रोफाइलिंग के लिए कोई उपकरण है?
उत्तर
एंड्रॉइड-एनडीके प्रोफाइलर काम करना आसान नहीं है। आपको here चरणों का पालन करने की आवश्यकता है।
- सुनिश्चित करें कि आपके android.mk सही है और आप NDK_MODULE_PATH निर्यात कि:
यहाँ कुछ सुझाव है कि मुझे सफलता के लिए नेतृत्व कर रहे हैं।
सही ढंग से निम्न कार्यों का उपयोग करें
monstartup ("your_lib.so");
moncleanup();
यदि gmon.out उत्पन्न होता है तो अब आपको डिवाइस से खींचने की आवश्यकता है, लेकिन आपके पीसी में कहीं भी नहीं। मेरे लिए यह तभी काम करता है मैं आवेदन के फ़ोल्डर में जाएँ (जहां JNI, obj, रेस और अन्य फ़ोल्डर कर रहे हैं) और मुझे क्या करना:
सांत्वना $ adb pull sdcard/gmon.out
फिर चलाने gprof। अपने एनडीके टूलचेन के सभी संस्करणों को आजमाएं। मेरे लिए केवल एक ही काम किया, यह एक:
सांत्वना $ ~/पुस्तकालय/android-NDK-R9/toolchains/हाथ-linux-androideabi-4.8/पहले से बनाए गए/लिनक्स-x86_64/bin/हाथ-linux-androideabi -gprof obj/स्थानीय/armeabi-v7a/libxxxx.so> profile.txt
Shiny profiler प्लेटफार्म स्वतंत्र है, यह कहीं भी चलता है और इसकी मानक सी ++ कंपाइलर के अलावा कोई निर्भरता नहीं है। इसके अधिक सरल उपयोग में, आपको बस इतना करना है कि सभी कार्यों और विधियों (या कम से कम वे जिन्हें आप प्रोफाइल करना चाहते हैं) की शुरुआत में एक मैक्रो जोड़ें।
इंटेल वीट्यून एम्पलीफायर। यह प्रोफाइलर आपको रूट्स या किसी भी ओएस संशोधन के बिना एंड्रॉइड डिवाइस पर स्टैक्स के साथ हॉटस्पॉट एकत्र करने की अनुमति देता है। यहां सरल मार्गदर्शिका है: http://software.intel.com/en-us/articles/using-intel-vtune-amplifier-on-non-rooted-android-devices
लगभग समय वे एंड्रॉइड को लक्षित करना शुरू करते हैं। लेकिन क्या वे एआरएम का समर्थन करते हैं, या सिर्फ x86? –
हां, यह दोनों आर्क पर अच्छी तरह से काम करता है। –
हाय इलिया! :) क्या यह वास्तव में एंड्रॉइड-एनएनडी-प्रोफाइलर से बेहतर है? इसकी कीमत कितनी होती है? –
NDK r13b में simpleperf
सरलपरफ https://android.googlesource.com/platform/system/extras/+/master/simpleperf/README.md पर प्रलेखित – osgx
- 1. .NET कोड प्रोफाइलिंग उपकरण
- 2. प्रोफाइलिंग उपकरण?
- 3. ग्रहण 3.7 के लिए निश्चित प्रोफाइलिंग उपकरण कौन सा है?
- 4. फ्रीबीएसडी के लिए नमूना आधारित प्रोफाइलिंग उपकरण क्या है?
- 5. एंड्रॉइड: MediaRecorder @ मूल कोड
- 6. एंड्रॉइड मूल कोड
- 7. प्रोफाइलिंग PHP कोड
- 8. क्या सी # के लिए कोई कोड स्टाइल विश्लेषण उपकरण है?
- 9. क्या जावास्क्रिप्ट कोड टिप्पणी करने के लिए कोई उपकरण है?
- 10. क्या सी # कोड को सुधारने के लिए कोई उपकरण है?
- 11. जावास्क्रिप्ट के लिए कोई मूल मशीन कोड कंपाइलर है?
- 12. प्रोफाइलिंग रूबी कोड
- 13. एंड्रॉइड फैक्स के लिए कोई मूल ऐप है?
- 14. टाइटेनियम बनाम मूल उपकरण
- 15. सी # नेट कोड के लिए सीपीयू कैश प्रोफाइलिंग?
- 16. प्रोफाइलिंग गणित कोड
- 17. उदाहरण के लिए मूल कोड
- 18. प्रोफाइलिंग अवधारणाएं प्रोफाइलिंग के लिए उपयोगी हैं?
- 19. क्या नेट समाधान के लिए जावा के लिए VisualVM जैसे निगरानी और प्रोफाइलिंग उपकरण है?
- 20. मेरी कोड की गति प्रोफाइलिंग के लिए अपाचेबेन्च के विकल्प
- 21. एंड्रॉइड के लिए कोई भी अच्छा सामुदायिक अनुवाद उपकरण?
- 22. आईओएस और एंड्रॉइड के लिए कोड जनरेशन
- 23. एंड्रॉइड कोड और मूल कोड के बीच कॉलबैक कैसे बनाएं?
- 24. पीयर कोड समीक्षा के लिए टीएफएस उपकरण
- 25. PHP कोड रीफैक्टरिंग के लिए उपकरण
- 26. कोड स्निपेट निष्पादन के लिए उपकरण
- 27. क्या वहाँ कोई कोड DRYER उपकरण हैं?
- 28. जावास्क्रिप्ट मूल कोड पढ़ें
- 29. मूल कोड क्या है?
- 30. बाइट कोड उपकरण - मूल या जावा एजेंट को लागू करें?
कहा जाता है को संशोधित परियोजना में हर कार्य दर्दनाक है एक नया उपकरण है। मैं स्वचालित उपकरण पसंद करेंगे। लेकिन टिप के लिए धन्यवाद! –
यदि कुछ और काम नहीं करता है, तो मैं आपको चमकदार इच्छा की गारंटी देता हूं। मुझे वेबोस के साथ एक ही समस्या थी। Gprof समर्थन टूट गया था, और कुछ भी उपलब्ध नहीं था। चमकदार वास्तव में अच्छा था और मुझे अपने प्रदर्शन के मुद्दों को हल करने में मदद की। कोड को वाद्य यंत्र के प्रयास के लिए मैंने एक स्क्रिप्ट लिखी जो नियमित अभिव्यक्ति का उपयोग करके सभी फ़ंक्शन निकायों को स्थित करती है, फिर मैक्रो कॉल स्वचालित रूप से डाली जाती है, इसलिए यह बिल्कुल दर्दनाक नहीं था। आपकी खोज के लिए शुभकामनाएं। – Miguel
समझ में आता है! स्वचालित मैक्रो सम्मिलन, मेरा मतलब है। धन्यवाद! –