我正在编写一个应用程序以逐行读取文件列表并进行一些处理。我想使用尽可能少的RAM。
我碰到了这个问题https://stackoverflow.com/a/41741702/3531263

张贴者说readString比readLine使用更多的RAM,并且他们已经发布了一些代码。
我不明白的是一个人如何使用更多的RAM?因为最终,由于代码的编写方式,他们仍然将整行写入其缓冲区。那么这是否意味着如果他们只是使用readString,那会是同一回事吗?

最佳答案

编写代码的方式,他们仍然将整行写入缓冲区

他们的代码,是的。您的代码可能不需要整个行都同时存储在内存中。例如,您的程序正在按请求ID(位于该行的开头)过滤日志文件。它不需要读取整行(可能是几兆字节或更多),而只是由于请求ID错误而拒绝它。但是,使用ReadString并没有选择的余地。

07-26 04:17