Android - MapView медленный ответ - PullRequest
0 голосов
/ 05 октября 2018

MapView с полилиниями имеет низкое время отклика при перетаскивании и уменьшении масштаба.Я не знаю, как отладить эту ошибку.Может кто-то помочь мне, пожалуйста.Это код при вызове и отображении полилиний.

Это код:

for (int i = 0; i < arrayOfPoly.size(); i++) {
 map.getOverlays().addAll(arrayOfPoly.get(i));
}

пришел из этого метода:

 public void plotFacilitiesToMap(){

    final ProgressDialog progressDialog;
    progressDialog = new ProgressDialog(MapActivity.this);
    progressDialog.setCanceledOnTouchOutside(false);
    progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
    progressDialog.setTitle("Please Wait");
    progressDialog.setMessage("Map loading....");
    progressDialog.show();

    final Handler handler = new Handler();
    handler.postDelayed(new Runnable() {

        @Override
        public void run() {
        Thread thread = new Thread(){
            public void run(){
                try{
                    arrayOfMarkers = arrayOfMarkerArray(Geopoints("POINT"));
                    arrayOfPoly = arrayOfPolyLineArray(LineGeometry("LINESTRING"));
                    for (int i = 0; i < arrayOfMarkers.size(); i++){
                        map.getOverlays().addAll(arrayOfMarkers.get(i));
                    }
                    for (int i = 0; i < arrayOfPoly.size(); i++) {
                        map.getOverlays().addAll(arrayOfPoly.get(i));
                    }

                }finally{
                    progressDialog.dismiss();
                    runOnUiThread(new Runnable() {

                        @Override
                        public void run() {
                         map.invalidate();
                        }
                    });
                }
            }
        };
        thread.start();
        }
    }, 500);
}
...