У меня вопрос о том, как сделать навигационное приложение более быстрым и стабильным.
Основной слой моего приложения - это простой вид карты, покрытый несколькими наложениями (2 маркера для начала и пункта назначения и один для маршрута).
Моя идея - реализовать поток для отображения маршрута, чтобы приложение не зависало при вычислении более сложного маршрута (как это происходит сейчас).
После реализации потока больше нет обновлений, может быть, вы можете помочь мне коротко взглянуть на выдержку из моего кода ниже:
private class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location loc) {
posUser = new GeoPoint((int) (loc.getLatitude() * 1E6), (int) (loc
.getLongitude() * 1E6));
new Thread(){
public void run(){
mapView.invalidate();
// Erase old overlays
mapView.getOverlays().clear();
// Draw updated overlay elements and adjust basic map settings
updateText();
if(firstRefresh){
adjustMap();
firstRefresh = false;
}
getAndPaintRoute();
drawMarkers();
}
};
}
Некоторые функции суммированы с таким методом, как "drawMarkers ()" или "updateText ()" ... (они не требуют больше внимания; -))