我有一个问题,使导航应用程序更快,更稳定。Android的MapView导航应用程序的性能问题 - 应用程序
我的应用程序的基本层是一个简单的MapView,覆盖有多层重叠(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()“...(他们不需要更多的关注;-))
嗨,你是对的,我没有启动线程*耻辱*。现在我的路线显示出来了,我将对性能进行一些测试;-) – poeschlorn 2010-06-15 13:38:00
注意:当您在主UI线程之外进行更新时,我认为您已陷入不受支持/未定义的行为。处理程序模式是你的朋友。 – 2010-06-15 13:51:35
以及如何使用同步方法更新地图? – poeschlorn 2010-06-22 09:21:35