Как узнать время загрузки - PullRequest
0 голосов
/ 18 декабря 2011

Мне нужно получить время загрузки при запуске приложения для Android.Итак, я добавил 2 Log и System.currentTimeMillis().Но я не могу найти точное место для размещения этих инструментов.

Чтобы получить время начала, я добавил это:

period=System.currentTimeMillis();
System.out.println("Début téléchargement : "+System.currentTimeMillis());

Чтобы добавить время окончания, я добавил это:

System.out.println("Fin téléchargement : "+System.currentTimeMillis());
period=(System.currentTimeMillis()-period);
System.out.println("La durée de téléchargement : "+period+"ms");

И это весь код для загрузки файла:

class DownloadFileAsync extends AsyncTask<String, String, String> {
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            showDialog(DIALOG_DOWNLOAD_PROGRESS);

        }

        @Override
        protected String doInBackground(String... aurl) {
            int count;

            try {

                File vSDCard = null;
                if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
                    vSDCard = Environment.getExternalStorageDirectory();
                    File vFile = new File(vSDCard.getParent() + "/" + vSDCard.getName() + "/"
                            + "image.jpg");
                    URL url = new URL(aurl[0]);
                    URLConnection conexion = url.openConnection();
                    int lenghtOfFile = conexion.getContentLength();
                    Log.d("ANDRO_ASYNC", "Lenght of file: " + lenghtOfFile);
                                        conexion.connect();

                    InputStream input = new BufferedInputStream(url.openStream());
                    OutputStream output = new FileOutputStream(vFile);
                    byte data[] = new byte[1024];
                    long total = 0;
                    while ((count = input.read(data)) != -1) {
                        total += count;
                        publishProgress("" + (int) ((total * 100) / lenghtOfFile));
                        output.write(data, 0, count);
                    }

                    output.flush();
                    output.close();
                    input.close();

                    }

            } catch (Exception e) {
                Log.d("ImageManager", "Error: " + e);
            }

            return null;
        }




        protected void onProgressUpdate(String... progress) {
            Log.d("ANDRO_ASYNC", progress[0]);
            ProgressDialog.setProgress(Integer.parseInt(progress[0]));
        }
        @Override
        protected void onPostExecute(String unused) {
            dismissDialog(DIALOG_DOWNLOAD_PROGRESS);
        }
    }

Мне нужно ваше предложение, пожалуйста.

1 Ответ

0 голосов
/ 18 декабря 2011

Первый блок перед открытым соединением URL или непосредственно перед началом чтения из входного потока.

Второй блок после закрытия соединения или сразу после цикла.

Что в этом такого сложного? Я что-то упустил?

...