Delphi Win32和触摸屏设备上的内存泄漏

Delphi Win32和触摸屏设备上的内存泄漏,delphi,firemonkey,delphi-10-seattle,Delphi,Firemonkey,Delphi 10 Seattle,我在一个具有触摸屏功能的设备上运行的每个应用程序都有内存泄漏。 如果我只用鼠标和键盘,一切都很好。 如果我触摸应用程序,就会发生内存泄漏,这可以是从点击按钮到移动表单的任何手势 我正在使用Delphi DX,并在Windows 10上测试了这个问题 被测试的应用程序只有一个TButton和一个TEdit 以下是内存泄漏报告: 5 - 12 bytes: TDictionary<System.string,System.Generics.Collections.TList<FMX.Fo

我在一个具有触摸屏功能的设备上运行的每个应用程序都有内存泄漏。 如果我只用鼠标和键盘,一切都很好。 如果我触摸应用程序,就会发生内存泄漏,这可以是从点击按钮到移动表单的任何手势

我正在使用Delphi DX,并在Windows 10上测试了这个问题

被测试的应用程序只有一个TButton和一个TEdit

以下是内存泄漏报告:

5 - 12 bytes: TDictionary<System.string,System.Generics.Collections.TList<FMX.Forms.TApplication.TFormRegistryItem>>.TKeyCollection x 1, TIdleMessage x 1, Unknown x 3
13 - 20 bytes: TApplication.TFormRegistryItem x 1, TApplicationFormFactor x 1, Unknown x 1
21 - 36 bytes: UnicodeString x 1
37 - 52 bytes: TList<FMX.Forms.TApplication.TFormRegistryItem> x 1, TDictionary<System.string,System.Generics.Collections.TList<FMX.Forms.TApplication.TFormRegistryItem>> x 1, TDictionary<FMX.Types.TWindowHandle,FMX.Platform.Win.TUpdateRects> x 1, TDictionary<FMX.Forms.TCommonCustomForm,FMX.Platform.Win.TFullScreenParams> x 1, TDictionary<System.Integer,System.NativeUInt> x 1, TDictionary<System.NativeUInt,FMX.Platform.Win.TWin32MenuInfo> x 1, TList<FMX.Platform.Win.TWin32TimerInfo> x 1, TList<System.Classes.TComponent> x 1
53 - 68 bytes: Unknown x 2
69 - 84 bytes: Unknown x 1
85 - 100 bytes: TMultiTouchManagerWin x 1
181 - 212 bytes: TPlatformWin x 1
213 - 244 bytes: TApplication x 1

提交一份错误报告,如果你的每个应用程序都有内存泄漏,你应该可以向我们提供一个MCVE来演示这个问题,对吗?它看起来确实像一个错误。不应该有任何方法泄漏
t应用程序
。。。至少不是没有真正的尝试。你在创造东西,但不是释放它。这不是Java,没有垃圾收集,当你处理完对象后,你必须释放它们。如果您在
FormCreate
中创建内容,您可以在
FormDestroy
@Johan中释放它,如果应用程序正在创建“内容”而没有释放它们,这将是相关的。正如我在复制步骤中所描述的那样,应用程序只有一个表单,上面有一个按钮——仅此而已,没有创建任何对象。提交一份错误报告,其中包含一个错误。如果每个应用程序都存在内存泄漏,那么向我们提供一个演示问题的MCVE应该没有问题,对吧?它看起来确实像一个错误。不应该有任何方法泄漏
t应用程序
。。。至少不是没有真正的尝试。你在创造东西,但不是释放它。这不是Java,没有垃圾收集,当你处理完对象后,你必须释放它们。如果您在
FormCreate
中创建内容,您可以在
FormDestroy
@Johan中释放它,如果应用程序正在创建“内容”而没有释放它们,这将是相关的。正如我在复制步骤中所描述的,应用程序只有一个窗体,上面有一个按钮——仅此而已,没有创建对象。
unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs;

type
  TForm1 = class(TForm)
    Button1: TButton;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

end.