我正在编写一个 Firemonkey 应用程序并遇到了一个问题:TMemo 非常缓慢。加载 3 mb 文件需要 12 秒以上,VCL TMemo 只需要 400 毫秒
这是我的测试代码:
uses
System.Threading, System.Diagnostics;
procedure TForm1.FormCreate(Sender: TObject);
begin
TTask.Run(
procedure
begin
Sleep(100);
var stopwatch := TStopwatch.Create;
TThread.Synchronize(nil,
procedure
begin
stopwatch.Start;
Memo1.Lines.LoadFromFile('../../../DemoData.json');
end);
TThread.Synchronize(nil,
procedure
begin
stopwatch.Stop;
Caption := stopwatch.ElapsedMilliseconds.ToString;
end)
end);
end;
整个测试项目(包括 JSON 文件)可以在这里找到: https ://borrisholt.dk/Delphi/MemoDemo.zip
或者您当然可以使用自己的 3mb 文本文件。
有什么可以做的吗,还是就像 FMX 一样?