2011-12-28 19 views
3

ファイル内のランダムな位置からStringを読み取る最も速い方法は何ですか?ファイルはSDカードにあり、コードはAndroidで実行されます。ファイルからStringを読み取る最も速い方法は何ですか?

私が現在やっていること - バイト配列にバイトを読み込んでStringコンストラクタに渡します。文字セットはUTF-8です。実行時間の約90%がCharset.decode(...)がボトルネックとなるStringコンストラクタに費やされます。

私が読んでいる文字列は公共交通機関の停止名なので、平均で約15文字です。

EDIT:Android 2.3.3エミュレータでテストされ、2.1よりもはるかに高速です(JITコンパイラの可能性が高いため)。各文字列は約1msで読み込むことができますが、これは十分速いです。

答えて

0

読み込みしようとしているバイト数、読み込みバイトから新しい文字列を作成する頻度、またはスクリプトの実行にかかる時間については言及していません。

投稿するコードを記入し、あなたが行っていることを達成するために使用しているアルゴリズムを教えてください。私にとっては、独自の記述をせずにデコード機能を制御することはできないので、これは簡単な最適化のように思えます。他のすべてが最適化されていれば、あなたはファイルから読み上げるのと同じくらい速いと思います。もう一度、私たちは何の話をしていますか?この痕跡はどれくらいかかりますか?

+0

追加情報を追加しました。後で追加します。 – fhucho

関連する問題