有没有办法以毫秒精度同步模拟器时间和系统时间?所以调用System.currentTimeMillis()
将与gettimeofday()
C 中的调用同时返回?
问问题
890 次
2 回答
0
我不确定我是否 100% 理解了这个问题。
如果你往里看,dalvik/vm/native/java_lang_System.c
你会看到:
static void Dalvik_java_lang_System_currentTimeMillis(const u4* args, JValue* pResult)
{
struct timeval tv;
UNUSED_PARAMETER(args);
gettimeofday(&tv, (struct timezone *) NULL);
long long when = tv.tv_sec * 1000LL + tv.tv_usec / 1000;
RETURN_LONG(when);
}
所以 System.currentTimeMillis() 调用 gettimeofday() - 至少在我正在查看的 dalvik 实现中。
使用ClockSync之类的应用程序在模拟器上设置时间怎么样。它使用您也可以在主机 PC 上使用的 ntp 协议。
于 2012-07-16T08:59:16.390 回答