感覚的なものかもしれませんが、本体メモリにメールボックスを置いているとそこまで重くない気がします。しかし、SDカードの書き込みにCPUパワーを使うというのもないですよね。
試しに1メッセージ1ファイルになるようにしてみました。本体メモリはクラスタギャップが発生することもないので、ファイルをいっぱい作っても良いだろうということで。メッセージボックスを1MBで分割していたときに比べると描画が極端に遅くなることは減った気がします。でもやっぱり時々引っかかりますね。
ところで、本体メモリに置くと受信なども恐ろしく速くなりました。うれしいような悲しいような。。
以前書いたように無線LANカード挿したまま電源を切るとSDカード上のファイルへのハンドルが無効になってしまいます。
それじゃあと思って試してみました。まずSDカード上に実行ファイルを置いて実行します。無線LANカードを挿したまま電源を切ります。そして電源を入れて実行中のプログラムの実行ファイルを削除すると、削除できてしまいます。普通実行中の実行ファイルは削除できないのですが。つまり、OS側が実行中として掴んでいる実行ファイルへのハンドルも無効になってしまうということですね。
テキストセグメントやリソースのように不変なデータはメモリ上にロードされつづけるわけではなくて、不必要になると捨てられて必要になったときに実行ファイルから再度ロードされることがあります(少なくともWindowsでは。CEでも同じようなことが起きると思うのですが詳しくないので知りません^^;)。でも、上で書いたように実行ファイルへのハンドルが無効になってしまうとロードできずにクラッシュしてしまうことになりますね。もちろん明示的にリソースをロードした場合も同様でしょう。