同样的项目在Windows / iOS平台上运行完美,但在运行不确定的持续时间后导致Android(两个不同的Android设备)死锁。
procedure TTestThread.FSynProc;
begin
Inc(Form1.FExecuted); //Variable of TForm
Form1.Text1.Text:= IntToStr(Form1.FExecuted);
end;
procedure TTestThread.Execute;
var
begin
while not Self.Terminated do
begin
Self.Synchronize(FSynProc);
sleep(10);
end;
end;
constructor TTestThread.Create;
begin
inherited Create(True);
Self.FreeOnTerminate:= True;
end;
destructor TTestThread.Destroy;
begin
inherited;
end;
启动TTestThread的代码
procedure TForm1.StartTTProc;
begin
ftt:= TTestThread.Create; // Variable of TForm
ftt.Start;
end;
在StartTTProc之后,数字显示在' Text1'继续增加。 在Android设备上运行不确定的持续时间后,应用程序冻结了。 有什么建议吗?