मैं एंड्रॉइड पर उच्च-रिज़ॉल्यूशन टाइमर (घड़ी स्रोत) प्राप्त करने का एक तरीका ढूंढ रहा हूं। यह मूल कोड में होना चाहिए, और काफी गैर पोर्टेबल हो सकता है। मैं microsecond संकल्प, या बेहतर चाहते हैं। मेरे विशेष आवेदन के लिए, संकल्प परिशुद्धता से अधिक महत्वपूर्ण है, और एक टाइमर जो monotonic है सबसे अच्छा है। मैं एंड्रॉइड 4.0.3 के साथ एक विशेष एआरएमवी 7 चिपसेट पर परीक्षण कर रहा हूं।एंड्रॉइड मूल कोड में उच्च रिज़ॉल्यूशन टाइमर कैसे प्राप्त करें?
क्या मैं अब तक की कोशिश की है:
clock_gettime(CLOCK_MONOTONIC)
: लक्ष्य हार्डवेयर (संपादित पर 1ms की इकाइयों में वेतन वृद्धि मूल रूप से मैं अपने कोड में सोचा बग के कारण 10ms, 1ms सही बहुत नहीं है, लेकिन अभी भी अच्छा)gettimeofday()
: clock_gettime को
समान मैं क्या प्रयास नहीं किया है:
System.nanoTime()
: यह मूल नहीं है। मेरा मानना है कि यह clock_gettime() पर आधारित है, लेकिन मैं हुड के नीचे जो कुछ भी है उसे ढूंढना और सीधे इसका उपयोग करना पसंद करूंगा।/dev/rtc
- एआरएम अनुदेश/सुविधा के कुछ प्रकार है, शायद
SysTick
(http://web.eecs.umich.edu/~prabal/teaching/eecs373-f10/readings/ARMv7-M_ARM.pdf) या सामान्य प्रयोजन टाइमर (GPT)।
भी (संबंधित प्रश्नों, लेकिन कोई जवाब नहीं) देखें:
क्या आप डिवाइस पर रूट पहुंच मान सकते हैं? –
@Maratyszcza: हाँ, यदि आवश्यक हो तो मुझे रूट हो सकता है। –
यह एंड्रॉइड लेकिन लिनक्स के बारे में नहीं है, और यह संभव नहीं है। http://elinux.org/High_Resolution_Timers – auselen