Перейти к содержанию
Fire Monkey от А до Я
  • 0

Утечка памяти в TNotificationCenter | TNotification


Вопрос

Версия: Delphi XE 10.2.3. Имеется метод:

procedure TNotificationStation.Notify(Caption: string; TextMsg: string);
var
  NotificationCenter: TNotificationCenter;
  Notification: TNotification;
begin
  // Win8 and newest
  if not TOSVersion.Check(6, 2) then
    MessageBox(0, PWideChar(TextMsg), PWideChar(Caption), MB_OK)
  else
  begin
    NotificationCenter := TNotificationCenter.Create(nil);
    try
      try
        Notification := NotificationCenter.CreateNotification;
        Notification.Name := 'TestPush';
        Notification.Title := Caption;
        Notification.AlertBody := TextMsg;
        NotificationCenter.PresentNotification(Notification);
      finally
        FreeAndNil(Notification);
      end;
    finally
      FreeAndNil(NotificationCenter);
    end;
  end;
end;

Чем больше пуш-сообщений вызывается, тем больше приложение начинает есть память. Один посланный пуш -> + ~100 кб. Проблема на Windows, платформы x64 и x86. 

Совсем не ощущается, что память высвобождается после отправленного пуша. Собственно, куда уходит память?

 

В папке с Samples лежит проект: \Samples\CPP\VCL\Windows 10 Notifications

Если понажимать на кнопку Show, ситуация такая же.

Изменено пользователем Данил Абдрафиков
Ссылка на комментарий

Рекомендуемые сообщения

  • 0

На windows спокойно задействуется механизм отлова утечек.

Можно использовать куцый штатный (в  dpr первой командой указать ReportMemoryLeaksOnShutdown := True

или воспользоваться сторонними расширенными. Например - MadExcept имеет возможность показывать утечки памяти и ресурсов.

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...