我正在使用Stefan Glienke精美的Delphi框架Spring4D中的IList。
我有一个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()方法并不释放内存,所以每次我填充列表时,Windows任务管理器会增加我的应用程序的内存使用量:(