我正在尝试优化导致一些不必要的延迟的 Android 应用程序的日志记录系统。打开了多个记录不同部分的文件,应分开保存。
我对低级文件系统设计不是很熟悉,对手机中使用的当前闪存和/或 SSD 内存(与传统 HDD 相对)更不熟悉。我假设内存是按磁盘块组织的(最近是 512B 或 4096B),并且使用了某种形式的连续、链接或索引分配。我使用BufferedOutputStream
s 的缓冲区大小为 256B,但这个值是随机选择的(这为缓冲区大小提供了一个很好的答案)。
以追加模式写入多个打开的文件会产生额外的开销,从而显着降低性能(例如分配策略)?它是否受缓冲输出缓冲区大小(多文件的这种特殊情况)的影响很大?
我正在使用 Android,它往往有多种FS,并且很难理解每个如何影响附加到多个打开的文件。可能 Java 或任何其他的 I/O 功能非常相似。
我对这个特定问题的搜索变成了空,或者我在搜索中需要一些我不熟悉的特定领域的术语。