私のアプリは、起動時にいくつかのデータ(約50k)をダウンロードする必要があります。私は現在いくつかの状況、特に低速の接続速度でダウンロード速度を評価しています。ダウンロード速度の接続にはさまざまなものがあります。
以下に示す簡単なテストコードがあります。ボタンがファイルのダウンロードを開始し、測定を開始します。測定の終了は、ダウンロードが終了したときです(これはすべてメインスレッドbtwで実行されています)。
初めてボタンを押したとき、ボタンを2秒後などに連続して押すよりも、ダウンロード時間が大幅に長くなります。 10秒待ってからもう一度押すと、もう一度時間がかかります。
これはなぜですか?最初の接続に時間がかかりますか?私は以下のコードが非常に原始的であることを知っています。どのような接続を迅速に取得するための最良の方法でしょう。
編集:これは、ISP /電話会社がインターネット接続を処理する方法とはまったく関係があります。私のISPのインターネット接続は、私が積極的にネットワークを使用していないときに、ある種の最小限に抑えられていますか?そして、私が何かをダウンロードすると、スピードを上げるために、より多くの「チャンネル」が追加されますか? いくつかのSIMカードを確認しました。データレートが高ければ高いほど、動作はより一貫しています。ブランドAのSIMを使用すると、前述のような動作をする場合、ブランドB(プレミアム)を使用すると、すべてが問題ありません。事前に
感謝
NSURL *url = [NSURL URLWithString:@"http://myServer/testFeed1.zip"];
NSData *urlData = [NSData dataWithContentsOfURL:url];
...ファイル
たぶんキャッシュさ
ダウンロードしたファイルはどこかにキャッシュされていますか? –
透明なISPでHTTPプロキシなどを実行してキャッシュすることもできます。 – ewanm89