我正在我的应用程序中实现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环境不那么熟练。