0

ECG モニターと通信するアプリを作成しています。データは毎秒 250 サンプルの速度で読み取られます。ECG モニターからの各パッケージには 80 バイトが含まれ、これは 1 秒あたり 40 回受信されます。

RandomAccessFile(outputFile, "rws")RandomAccessFile を使用してみましたが、同期モードと非同期 モードの両方でパッケージが失われました RandomAccessFile(outputFile, "rw")

最近の実験では、MappedByteBuffer を使用してみました。これは非常にパフォーマンスが高いはずですが、バッファーを作成するときにmap(FileChannel.MapMode.READ_WRITE, 0, 10485760)、10MB バッファーのサイズを指定する必要があります。ただし、これにより、ファイルのサイズは常に 10MB になります。ファイルサイズが保存されている実際のデータ量のみである MappedByteBuffer を使用することは可能ですか?

または、これを達成する別の方法はありますか?これほど頻繁にファイルに書き込むのはナイーブですか?

余談ですが、これは iOS ではまったく問題ではありませんでした。これは、バッファリングなしで実現できます。

4

0 に答える 0