我在开发者网站上关注了Hello MapView教程,并且一切运行良好。但是现在我需要扩展它以添加大约150个标记,并且我当前的方法会崩溃我的应用程序。
原因:keyDispatchingTimedOut
我的设置如下..
带有地图数据的四个String数组,都有(并且总是会)具有完全相同数量的索引和fId [0] == fLatitude [0] == fLongitude [0] == fDetails [0] ,依此类推:
String[] fId;
String[] fLatitude;
String[] fLongitude;
String[] fDetails;
截至目前,这就是我在地图上绘制点的方法。这显然不是正确的方法,因为地图不断崩溃:
List<Overlay> mapOverlays = mapView.getOverlays();
Drawable drawable = this.getResources().getDrawable(R.drawable.androidmarker);
FriendItemizedOverlay itemizedoverlay = new FriendItemizedOverlay(drawable, mapView.getContext());
for(int i=0;i<aLatitude.length;i++){
Double intLon = Double.parseDouble(aLongitude[i]);
Double intLat = Double.parseDouble(aLatitude[i]);
GeoPoint point = new GeoPoint((int)(intLat * 1E6),
(int)(intLon * 1E6));
OverlayItem overlayitem = new OverlayItem(point, "Friend ", "Something");
itemizedoverlay.addOverlay(overlayitem);
mapOverlays.add(itemizedoverlay);
}
如果您需要更多信息,请在评论中告诉我们,谢谢。
logcat的:
01-13 18:39:34.732:ERROR / MapActivity(1085):无法获取连接工厂客户端 01-13 18:40:14.473:ERROR / ActivityManager(69):com.example.friendapp中的ANR(com.example.friendapp / .FriendMaps) 01-13 18:40:14.473:ERROR / ActivityManager(69):原因:keyDispatchingTimedOut 01-13 18:40:14.473:ERROR / ActivityManager(69):载荷:2.39 / 0.78 / 0.42 01-13 18:40:14.473:ERROR / ActivityManager(69):CPU使用率从6026ms到0ms前: 01-13 18:40:14.473:ERROR / ActivityManager(69):93%1085 / com.example.friendapp:93%用户+ 0%内核/故障:25次 01-13 18:40:14.473:ERROR / ActivityManager(69):2.6%69 / system_server:1.8%用户+ 0.8%内核/故障:3次 01-13 18:40:14.473:ERROR / ActivityManager(69):1.1%875 / com.google.process.gapps:0%user + 1.1%kernel 01-13 18:40:14.473:ERROR / ActivityManager(69):1.1%980 / com.android.quicksearchbox:0%user + 1.1%kernel 01-13 18:40:14.473:ERROR / ActivityManager(69):0.9%133 / com.android.launcher:0%user + 0.9%kernel 01-13 18:40:14.473:ERROR / ActivityManager(69):0.1%40 / adbd:0%user + 0.1%kernel 01-13 18:40:14.473:ERROR / ActivityManager(69):100%TOTAL:95%用户+ 4.1%内核 01-13 18:40:14.473:ERROR / ActivityManager(69):CPU使用率从2192ms到2863ms之后: 01-13 18:40:14.473:ERROR / ActivityManager(69):80%1085 / com.example.friendapp:80%用户+ 0%内核/故障:3次 01-13 18:40:14.473:ERROR / ActivityManager(69):77%1085 / bile.friendapp:77%用户+ 0%内核 01-13 18:40:14.473:ERROR / ActivityManager(69):16%69 / system_server:4.8%用户+ 11%内核 01-13 18:40:14.473:ERROR / ActivityManager(69):14%101 / InputDispatcher:3.2%用户+ 11%内核 01-13 18:40:14.473:ERROR / ActivityManager(69):1.6%70 / HeapWorker:1.6%用户+ 0%内核 01-13 18:40:14.473:ERROR / ActivityManager(69):0.5%133 / com.android.launcher:0%user + 0.5%kernel 01-13 18:40:14.473:ERROR / ActivityManager(69):0.5%134 / HeapWorker:0%用户+ 0.5%内核 01-13 18:40:14.473:ERROR / ActivityManager(69):0.6%980 / com.android.quicksearchbox:0%user + 0.6%kernel 01-13 18:40:14.473:ERROR / ActivityManager(69):1.3%981 / HeapWorker:0%用户+ 1.3%内核 01-13 18:40:14.473:ERROR / ActivityManager(69):100%TOTAL:80%用户+ 19%内核 01-13 18:40:20.702:ERROR / InputDispatcher(69):channel'406f88b8 com.example.friendapp / com.example.friendapp.FriendMaps(server)'〜消费者关闭输入通道或发生错误。事件= 0x8中 01-13 18:40:20.712:ERROR / InputDispatcher(69):channel'406f88b8 com.example.friendapp / com.example.friendapp.FriendMaps(server)'〜频道无法恢复,将被丢弃!
答案 0 :(得分:0)
您要将相同的叠加层添加150次到地图。请只添加一次。