Я разрабатываю приложение для проверки скорости загрузки / выгрузки.Столкновение с серьезной проблемой, когда дело доходит до сравнения скорости - PullRequest
0 голосов
/ 15 мая 2018

Так что для скорости загрузки я в основном использовал широко распространенный метод хранения таймера и загрузки файла следующим образом. Но скорость намного меньше по сравнению с тем, что дает Speedtest от Ookla:

    public class InternetSpeedTest extends AsyncTask<String,Void,String> {
    long startTime;
    long endTime;
    private long takenTime;

    @Override
    protected String doInBackground(String... urlVar) {
        startTime = System.currentTimeMillis();
        Bitmap bmp = null;
        try {
            URL ulrn = new URL(urlVar[0]);
            HttpURLConnection con = (HttpURLConnection) ulrn.openConnection();
            InputStream is = con.getInputStream();
            bmp = BitmapFactory.decodeStream(is);
            long lengthbmp = con.getContentLength();
            if (null != bmp) {
                endTime = System.currentTimeMillis();
                return lengthbmp + "";
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    @Override
    protected void onPostExecute(String result) {

        if (result != null) {
            long dataSize = Integer.parseInt(result) / 1024;
            takenTime = endTime - startTime;
            double s = (double) takenTime / 1000;
            double totalspeed = dataSize / s;
            TextView dspeed = (TextView) findViewById(R.id.filespeed_tv_ma);
            fileSpeed.setText(Double.toString(totalspeed));
            duration.setText(Long.toString(takenTime));
            filesize.setText(Long.toString(dataSize));
        }
    }
}

Я получаю штраф за задержку при пинге хост-сервера. Как я могу реализовать это любым другим способом или улучшить? Кроме того, что я могу сделать для скорости загрузки.

Я где-то читал об использовании TrafficStats. Но это не дает текущей скорости, верно? Заранее спасибо.

...