我有一大堆对象都有一个文件名存储在里面。所有文件名都在给定的基本目录内(我们称之为C:\BaseDir\
)。我现在考虑两种选择:德尔福字符串共享问题
- 店绝对路径中的对象
- 存储相对路径的对象和存储的基本路径还
如果我理解德尔福字符串正确第二种方法将需要更少的内存,因为基本路径字符串共享 - 因为我相同的字符串场传递给这样所有对象:
TDataObject.Create (FBasePath, RelFileName);
这个假设是真的吗?内存中是否只有一个基本路径的字符串实例?
如果有人知道更好的方式来处理这种情况,请随时评论。
谢谢!
不成熟的优化,同意。但是,保持基路径与相关基路径分离的设计原因可能存在 - 例如,在全局范围内更容易更改基路径,同时保持所有相同的相对路径与当前基路径可能相同。但是在这种情况下,他可能最好将基本路径保持为单独的全局字符串变量,并在每个文件访问之前将对象中的相对路径连接起来。 –