Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用 Delphi 10。我的一个程序在启动时从磁盘读取大量数据。当我第一次运行它时,完成初始任务可能需要一分钟。我关闭了程序并重新启动它。现在同样的任务在 10 秒内完成。为什么会这样?我可以在开始任务之前以编程方式释放内存以首先实现短暂启动吗?
这是因为 Windows 文件系统缓存。第一个文件访问速度很慢,但 Windows 会将信息加载到缓存中。当您的应用程序存在并立即再次运行时,将从缓存而不是磁盘读取数据。它与内存分配无关;这是操作系统行为的一部分。
如果没有任何代码,几乎不可能提出任何可以提高应用程序性能的建议。