我正在使用 Google Maps V2,并且需要在用户移动地图时调用一个方法。我正在使用每次移动地图时触发的 .setOnCameraChangedListener() 。从这个事件监听器,我可以调用我的方法。
问题是,如果用户移动地图非常缓慢,事件会在一秒钟内触发多次。然而,我从事件中调用的方法非常耗时,我不希望它被如此频繁地调用。
我怎样才能保持一个计时器,不断推动延迟,比如 300 毫秒,直到用户真正停止与地图交互。这样我的方法将在最后一次触发事件的 300 毫秒后被调用。
我已经尝试过,同步,asyncTask(一遍又一遍地使用 .cancel 和 .start),但似乎没有什么效果很好。