У меня есть несколько форм, где у меня есть компонент TListBox, который я заполняю во время выполнения.Как освободить время выполнения ListBoxItems из памяти в Delphi Seattle Firemonkey Multi Device App
Мой вопрос в том, как я могу лучше всего освободить элементы, которые я добавляю во время выполнения?
- Использование владельца недвижимости: Форма или ListBox?
- Или освободить их самостоятельно?
- или по-другому?
Ниже приведен пример, как я заполняю мой ListBox:
procedure TForm1.LoadList;
var
item: TListBoxItem;
begin
myList.Clear;
myList.BeginUpdate;
try
with myQuery do
begin
First;
while not eof do
begin
item := TListBoxItem.Create(nil);
try
item.Tag := FieldByName(myIDField).AsInteger;
item.Text := FieldByName(myDescriptionField).AsString;
myList.AddObject(item);
finally
Next;
end;
end;
end;
finally
myList.EndUpdate;
end;
end;
Я заметил, что создание списка может занять немного больше времени, когда я установить владельца пункта. Также, когда я вызываю ListBox.Clear и список заполнен элементами без владельцев, список по-прежнему очищается правильно. Значит ли это, что владелец предметов устанавливается, когда я использую AddObject, чтобы добавить их в ListBox?
Также я Освободить форму с близким действием:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := TCloseAction.CaFree;
end;
Я не знаю, если это изменяет вещи, как освободить элементы в моем списке?
Firemonkey использует ARC (Automatic Reference Counting) как средство управления памятью. Я предлагаю вам прочитать, что [Embarcadero говорит об этом] (http://docwiki.embarcadero.com/RADStudio/Seattle/en/Automatic_Reference_Counting_in_Delphi_Mobile_Compilers) для стартера. –
@TomBrunberg Я прочитал эту страницу, но я все еще не совсем уверен, что лучше для моей ситуации. Он действительно не охватывает визуальные компоненты или списки, поэтому – Remi
FMX не налагает ARC. Следующие компиляторы gen используют ARC в качестве управления памятью. На рабочем столе FMX использует то же управление памятью, что и Vcl, т. Е. Право собственности на –