我正在使用TObjectList(Delphi 2007)存储大量数据 - 我预计将有约30万个或更多元素。然而,当列表创建时,默认大小设置为仅存储四个元素,然后如果尝试添加第五个元素,则设置为八个,如果尝试添加第九个元素,则设置为十六个,以此类推。这些数字可能不准确,但我认为工作原理是正确的。问题在于所有元素都必须从内存的释放部分复制到新内存块,新扩展列表迁移的地方。我希望设置特定的初始大小,并撤消列表已分配/保留的任何未使用空间的分配(或取消内存预留,因为预留和分配不同)。
这可能不是很多代码,但我认为应该有一个永久的、可靠的参考来解决这个问题,形式是一个问题和答案。