これは Android の場合です。大きなファイルを作成しようとすると、アプリケーションの UI 操作が遅くなり、SD カードが遅くなり、大きなファイルをiowait
作成するときに高負荷が発生し、CPU がアイドル状態になっていることがわかります。アプリケーションの動作が遅く、UI インタラクションが応答しません。SD カードが遅いため、これは正常に見えますが、これは high で予想されることですiowait
。
非同期IOを使用している限りiowait
、アプリケーションのパフォーマンスに影響を与えないことをどこかで読みましたが、よくわからないことの1つは、バックグラウンドスレッドで大きなファイルを作成していることです。 UIスレッドと私はUIスレッドをブロックすべきではないと思います。はい、私は Java 非ブロッキング IO API を使用していませんが、バックグラウンド スレッドを使用して非同期にするだけで十分ではないでしょうか?
PS私は、指定された位置にRandomAccessFile
開いて大きなファイルを作成しています。seek