来自谷歌地图的Java更新标记

来自谷歌地图的Java更新标记,java,android,google-maps,marker,Java,Android,Google Maps,Marker,我正在尝试构建一个必须每x秒更新一个标记的应用程序。好的,我已经完成了。以下是我的onCreate方法中的代码: h = new Handler(); h.postDelayed(new Runnable(){ public void run(){ atualizaMapa(); h.postDelayed(this, delay); } },

我正在尝试构建一个必须每x秒更新一个标记的应用程序。好的,我已经完成了。以下是我的onCreate方法中的代码:

 h = new Handler();

        h.postDelayed(new Runnable(){
            public void run(){

                atualizaMapa();

                h.postDelayed(this, delay);
            }
        }, delay);
问题是:当我使用谷歌地图并拖动一个标记,或者当一个信息窗口打开时,进程get有一点锁定(我放置x秒),然后我可以正常拖动标记,10秒后它会再次锁定…10秒后,一次又一次锁定…我尝试了所有方法,但没有成功。有人能帮我解决这个问题吗

标记在atuanizarmapa()上更新,此方法访问我的Web服务并获得json响应…

使用方法

使可运行r添加到消息队列,在指定的时间后运行。runnable将在该处理程序所连接的线程上运行。时基为uptimeMillis()。在深度睡眠中花费的时间将增加执行的额外延迟

除此之外

在向发布或发送时,您可以允许在消息队列准备就绪后立即处理该项,也可以指定在处理该项之前的延迟或处理该项的绝对时间。后两者允许您实现超时、滴答声和其他基于时间的行为


您使用的方法会影响应用程序或消息调度的行为。

我该如何解决此问题?我意识到另一件事,当我使用setPosition方法时,我的应用程序中只有这个命令,它不会得到延迟,也不会停止,但当我每x秒获得一个使用for命令的数据时,它会停止应用程序。还有另一种方法每x秒执行一次,以更新我在谷歌地图上的标记吗?一个不会阻止应用程序的方法?我想我已经添加了一个线程来完成这个任务了?我需要知道这个过程什么时候结束?像这样的?