当前位置:编程学习 > wap >>

请教关于Android手机在CDMA/EVDO网络下工作时,MONOTONIC系统时间会发生回退的问题

各位好,我在做手机项目时,发现Android应用凡是使用到精确定时的(秒表、录音时间计算等),都不太准。并且秒表在计时的时候,会发生计时值回退的现象:例如计时到5.657秒,下一时刻变成了5.125秒,然后再跳至5.897秒,甚至有的时候会从6.xxx秒跳至5.xxx秒,发生明显的回退现象。

经检查发现Android上层应用的时间基准是基于frameworks/base/libs/utils/SystemClock.cpp中的uptimeMillis()和elapsedRealtime(),从这里打log追踪时间发现其单调增加的系统时间竟然会发生回退。

进一步测试发现,当不插入电信3G EVDO卡时,没有这个现象;一旦插入卡,就会发生该现象。现在怀疑是电信的EVDO网络在不停的更新手机RTC时间,最后导致手机时间不准。请问这个问题是否有什么好的办法解决?谢谢!
补充:移动开发 ,  Android
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,