我正在使用来自Stefan的优秀的Delphi框架Spring4D的Spring4D。
我有一个列表IList,在我的应用程序运行期间,我多次填充这个列表。所以,两三个小时后,我的列表出现了内存溢出。
这就是我如何填充列表的方式:
list := TCollections.CreateList<TVisitor>;
for i := 0 to dataSet.RecordCount - 1 do begin
item := TVisitor.Create ();
item.Surname := dataSet.FieldByName ( 'firstname' ).AsString;
item.Name := dataSet.FieldByName ( 'secondname' ).AsString;
item.Patronymic := dataSet.FieldByName ( 'thirdname' ).AsString;
item.CardNumber := dataSet.FieldByName ( 'cardnumber' ).AsString;
list.Add ( item );
dataSet.Next ();
end;Clear()方法没有释放内存,所以每次我填写我的列表时,我的应用程序的内存使用情况如下:(
发布于 2015-07-22 10:02:43
您的列表没有释放TVisitor实例。
Create是这样的:
TCollections.CreateList<TVisitor>(True);https://stackoverflow.com/questions/31558648
复制相似问题