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

alterwood 2010-12-08 09:59:34
各位好,我在做手机项目时,发现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时间,最后导致手机时间不准。请问这个问题是否有什么好的办法解决?谢谢!
...全文
121 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧