私のアプリケーションでは、入力ストリームからデータを読み取る必要があります。読み取り用の現在のバッファ サイズを 1024 に設定しました。しかし、一部の Android アプリケーションでは、バッファ サイズが 8192 (8 KB) のままになっているのを見てきました。アプリケーションのバッファ サイズを 8KB に増やした場合、具体的な利点はありますか?
専門家の意見をお待ちしております。
編集:(BB OS 6および7を使用しており、ネットワーク入力ストリームを扱っています。)
私のアプリケーションでは、入力ストリームからデータを読み取る必要があります。読み取り用の現在のバッファ サイズを 1024 に設定しました。しかし、一部の Android アプリケーションでは、バッファ サイズが 8192 (8 KB) のままになっているのを見てきました。アプリケーションのバッファ サイズを 8KB に増やした場合、具体的な利点はありますか?
専門家の意見をお待ちしております。
編集:(BB OS 6および7を使用しており、ネットワーク入力ストリームを扱っています。)
普遍的に最適なバッファ サイズを見つけたとは言えませんが、ほとんどの場合 (BlackBerry Java アプリの場合) は 1KB から 8KB の範囲で問題ないように思われます。
IOUtilities
データ量が少ない場合 (つまり、1KB から 8KB で 1 つまたは 2 つのバッファーしか必要ない場合があります)、次の方法を使用するのがおそらく最善であることに注意してください。
byte[] result = IOUtilities.streamToBytes(inputStream);
実際にバッファサイズを選択する必要はありません。しかし、それがresult
大きなデータ ブロックになることがわかっている場合は、一度に 1 つのバッファーを読みたいと思うのはおそらく正しいでしょう。
ただし、アプリをビルドし、バイト バッファー サイズのいくつかの異なる値を使用してパフォーマンスを測定するだけで、ほとんどの場合、答えが得られるはずだと私は主張します。1 つの定数を変更し、ビルドし、実行し、再度測定するのは簡単です。推測したり、アプリのすべての詳細を知らない人のアドバイスを受けたりする必要はありません。
BlackBerry Eclipse プラグインのメモリ分析については こちらを、BlackBerry Eclipse プラグインのプロファイリングについてはこちらを参照してください。
これらのツールは、Eclipse で [ウィンドウ] メニューを選択し、デバッグ中に[ビューの表示] -> [その他... ] - > [ BlackBerry ] -> [ BlackBerry Memory Statistics View]または[ BlackBerry Profiler View]を選択すると表示されます。
このようにして、呼び出し中にネットワーク コードがデータを取得してバッファにデータを入力するために使用しているメモリまたはプロセッサの量を確認できます。