嗨,我正在开发一个应用程序,我在其中更新 Google 地图上的标记,然后将他移向各种地理点。
我每 10 毫秒将标记移动几米,以在地图上实现平稳移动。
我正在使用倒数计时器来执行此操作(例如,每 10 毫秒将标记移动几米)但您知道它并不精确。
我还能用什么来循环一个动作并且我可以更精确?
我要不要用System.nanotime();
如果这是最好的方法,我可以举个例子吗?
嗨,我正在开发一个应用程序,我在其中更新 Google 地图上的标记,然后将他移向各种地理点。
我每 10 毫秒将标记移动几米,以在地图上实现平稳移动。
我正在使用倒数计时器来执行此操作(例如,每 10 毫秒将标记移动几米)但您知道它并不精确。
我还能用什么来循环一个动作并且我可以更精确?
我要不要用System.nanotime();
如果这是最好的方法,我可以举个例子吗?
试试 TimerTask 和 Timer
Timer timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
// YOUR CODE HERE
}
};
timer.scheduleAtFixedRate(task, 0, 10000);
希望,对你有帮助!
我认为问题不仅在于时间,而且每个 UI 更新的 android 主线程都在循环,而不仅仅是您的应用程序的更新。我建议使用有足够时间的单独线程将更新发布到主线程。