Карты Google очень медленные с наложением - PullRequest
0 голосов
/ 20 декабря 2011

У меня есть MapView, в котором я помещаю некоторые ок. 200 Наложения , все с одинаковым изображением . Я получаю данные о местоположении с помощью Restlet. Но это не должно быть проблемой, потому что я получаю данные достаточно быстро.

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

Так что я думаю, что я делаю что-то не так. Итак, у меня есть несколько вопросов:

  1. LogCat говорит: GC_CONCURRENT freed 287K, 6% free 7222K/7623K, paused 1ms+2ms и повторяет это, пытаясь получить место постоянно. Возможно ли, что это проблема и кэш заполнен слишком много?

  2. Возможно ли, что тень от оверлеев стоит в значительной степени производительности ? Как я могу их удалить?

  3. Как я могу удалить все данные нажатием кнопки назад? Что я должен вставить в onStop() и onDestroy()? Как я знаю, сборщик мусора делает все это автоматически. Что еще я мог сделать? Удалить оверлеи?

  4. Я использую такие случаи, как:

    minLatitude = (minLatitude > partnerLatitude) ? partnerLatitude : minLatitude;
    

    и для каждого:

    for(BrunnerPartner partner: query) {     
    partnerAL.add(partner);                     
    }
    

    Это плохо для производительности?

  5. Поможет ли мне, если я скрою несколько оверлеев при небольшом диапазоне увеличения? Как я мог это сделать?

1 Ответ

1 голос
/ 04 января 2012

Взгляните на пример OverlayItem: http://developer.android.com/resources/tutorials/views/hello-mapview.html

Использование отдельных оверлеев приводит к большому раздуванию.

...