0

アプリを開発しています (Android と iPhone の両方)。実際、私のアプリでは、バックグラウンドで多くのビデオをダウンロードする必要があり (バックグラウンド サービス IntentService を使用)、ダウンロードの進行状況を示す画面も必要です (ダウンロードの進行状況を表示する UI を持つアクティビティを使用)。しかし、iPhone の同じアプリのダウンロード速度と比較してダウンロード速度が遅すぎる理由はわかりません。

また、ビデオをダウンロードするたびに、そのビデオをデータベースでダウンロード済みとしてマークしています。そして、これはすべてのビデオで起こります。

Androidでのファイルのダウンロードが遅いため、データベース呼び出しに問題がありますか? 同じ機能がiPhoneのファイルのダウンロード速度に影響しないため.

4

2 に答える 2

1

単一のファイルをセグメントに分割し、複数の同時接続を使用してこれらのセグメントをサーバーからダウンロードすることにより、単一のファイルをダウンロードするある種のダウンロード アクセラレータの実装を試みることができます。最初に、サーバーが受け入れるかどうかを確認してから、マルチスレッドの方法でダウンロードするバイト範囲byte-rangesを指定する必要があります。最後に、セグメントを元の完全なファイルにマージします。

詳細については、次のドキュメントを参照してください。

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.5

128ページ: http://www.ietf.org/rfc/rfc2068.txt

Java API のURLConnection.setRequestPropertyも参照してください。

ただし、ダウンロードが遅いのは、主にネットワーク帯域幅とサーバーのアップロード速度が原因だと思います.

于 2013-04-26T14:26:14.670 に答える