テキストビューア作ってるオレがアドバイスすると、
4MBのテキスト全部はヒープに収まらない。内部データ構造にもよるが500KBあたりが限度(V601T/V602SH)
どうしても読みたいなら、メモリに全展開しない方式を考えた方がいい。
もちろんSDカードか本体のデータフォルダから読み込む。

あと、Javaは内部処理がすべてUnicode(たぶんUTF-16)なので、
文字コードとバイト数の違いに注意。
ちなみに、ケータイのプラットフォームはMS932でなくSJISっぽい。
絵文字はどうなるのか知らん。


>>430
ByteArrayOutputStream使ってないので何ともいえんが、
一文字ずつ処理するとたぶん読み込みが激しく遅くなると思う。
自前バッファでの環境だと、8192byteごとに処理するとエミュ・実機とも一番読み込みが早かった。
実装により多少前後すると思うが、1K-10Kくらいをまとめて処理した方が早くなると思う。

あと、読み込み中(ストリーム開いてる途中)にOutOfMemoryErrorがでると、
StorageConnectionが使い物にならなくなってしまうという現象に悩んでる。
ExceptionでなくErrorなのでどうにかなるもんではないという結論でいいんだろうか。。


つーことで、>427 ガンガレ