У меня есть MapView, в котором я помещаю некоторые ок. 200 Наложения , все с одинаковым изображением . Я получаю данные о местоположении с помощью Restlet. Но это не должно быть проблемой, потому что я получаю данные достаточно быстро.
Проблема в том, что MapView работает очень медленно . Производительность снижается с увеличением количества оверлеев, но не должна, потому что на iPad есть приложение, которое может легко это сделать. Мой планшет имеет еще больше ГГц.
Планшет загружает части карты снова и снова , даже если я не прокручиваю его.
Так что я думаю, что я делаю что-то не так. Итак, у меня есть несколько вопросов:
LogCat говорит: GC_CONCURRENT freed 287K, 6% free 7222K/7623K, paused 1ms+2ms
и повторяет это, пытаясь получить место постоянно. Возможно ли, что это проблема и кэш заполнен слишком много?
Возможно ли, что тень от оверлеев стоит в значительной степени производительности ? Как я могу их удалить?
Как я могу удалить все данные нажатием кнопки назад? Что я должен вставить в onStop()
и onDestroy()
? Как я знаю, сборщик мусора делает все это автоматически. Что еще я мог сделать? Удалить оверлеи?
Я использую такие случаи, как:
minLatitude = (minLatitude > partnerLatitude) ? partnerLatitude : minLatitude;
и для каждого:
for(BrunnerPartner partner: query) {
partnerAL.add(partner);
}
Это плохо для производительности?
Поможет ли мне, если я скрою несколько оверлеев при небольшом диапазоне увеличения? Как я мог это сделать?