2016-05-14 6 views
2

Я пытаюсь создать приложение, которое должно обновлять маркер каждые x секунд. Хорошо, я уже это сделал. Вот код в моем методе OnCreate:Маркеры обновления Java из Google Map

h = new Handler(); 

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

       atualizaMapa(); 

       h.postDelayed(this, delay); 
      } 
     }, delay); 

Проблема: Когда я использую карту Google и перетащить маркер или когда InfoWindow открыт, процесс получения немного биты блокировки (х секунд I) и после него я могу перетащить маркер нормально, и через 10 секунд он снова закроется ... через 10 секунд снова и снова блокируется ... Я пробовал все, но не добился успеха. Кто-то может помочь мне с этой проблемой?

Маркер обновляется atualizarMapa(), этот метод доступа мой WebService и получить ответ JSon ...

ответ

0

Используя postDelayed() метод,

вызывает Runnable г, которые будут добавлены к сообщению очереди, которая должна быть пробежать по истечении указанного времени. Runnable будет запущен в потоке, к которому прикреплен этот обработчик. Временной базой является uptimeMillis(). Время, проведенное в глубоком сне, добавит дополнительную задержку к исполнению.

Кроме того,

При размещении или отправки Handler, вы можете либо разрешить этот пункт должен быть обработан, как только очередь сообщений готова сделать это, или указать задержку до того, как он будет обработан или абсолютное время для его обработки. Последние два позволяют вам использовать тайм-ауты, тики и другое поведение, основанное на времени.

Метод, который вы использовали, влияет на поведение вашего приложения или планирование сообщений.

+0

Что я могу сделать, чтобы исправить эту проблему? Я понял другое: когда я использую метод setPosition, только эта команда в моем приложении, она не получает задержку, а не тормоз, но когда я получаю данные, используя команду каждые x секунд, она тормозит приложение. –

+0

Есть еще один способ выполнить каждую секунду, чтобы обновить мои маркеры на карте Google? метод, который не тормозит приложение? –

+0

Думаю, я добавил поток для этого? и мне нужно знать, когда процесс завершится? что-то вроде этого? –