0

Android アプリで jsoup を使用していますが、html ソースのダウンロードに時間がかかりすぎるという問題があります。これが私のコードです:

    long t = System.currentTimeMillis();
    String url = "http://www.stackoverflow.com/";
    Document doc = null;
    try {
        Connection c = Jsoup.connect(url);
        doc = c.get();
        System.out.println(System.currentTimeMillis() - t);
    } catch (IOException e) {
        e.printStackTrace();
    }

このコードの実行には 1.265 秒かかりますが、同じデバイスで Web ブラウザーを使用して 0.5 秒未満で Web サイト全体 (画像とすべての優れたものを含む) をダウンロードできるため、非常に奇妙に感じます。私は何か間違ったことをしましたか?それとも、ウェブサイトの HTML ソースを取得するためのより高速な方法はありますか? 前もって感謝します。

4

1 に答える 1

0

このコードをどこで試していますか? あなたのデバイス?LTE/3G ネットワークを使用している場合は、あまりオフになりません。

考えられるもう 1 つの理由は、Wifi を使用している場合に、ワイヤレス ルーターがデバイスから最適な場所に配置されていないことです。

そのコードから、さらに遅延を引き起こす可能性のあるものは何も表示されません。ホスト DNS エントリがキャッシュされておらず、サーバーが遠く離れている場合、1.2 秒はそれほど悪くないかもしれません。

また、時間を比較する場合は、Agent をブラウザと同じに設定してみてください。サーバーがユーザー エージェントに基づいて異なる優先度を与える場合があります。この場合、デフォルトの Java ユーザー エージェントを使用しています。

于 2013-02-10T19:15:00.640 に答える