我正在我的应用程序中实现Windows 10 Notification。但是,下面的代码(运行正常)显然给了1个TNotification对象和2个字符串一个备忘录泄漏,但我在代码块的末尾释放了该对象:

aNotification := NotificationCenter.CreateNotification;

//-- If not assigned then must be Win 8.1 or below
if not assigned(aNotification) then
  exit;

try
  aNotification.Title := AlignMixVersionName + ' License';
  aNotification.AlertBody := aText;

  NotificationCenter.PresentNotification(aNotification);

finally
  aNotification.Free;
end;


我是在做一些愚蠢的事情,还是在实施Notifications时发生内存泄漏?


史蒂夫

最佳答案

这确实是由TNotificationCenterDelegateActivated引起的泄漏。在其Create中创建了TNotification参数的副本,但从未释放。

似乎有些负责此代码的开发人员对非ARC环境不那么熟练。

07-27 19:21