Приложение UWP перейти к дому и очистить рамкиC#

Место общения программистов C#
Ответить
Anonymous
 Приложение UWP перейти к дому и очистить рамки

Сообщение Anonymous »

У меня есть приложение для киосков UWP, которое протекает память. Когда я смотрю на его работу в диспетчере задач, я вижу, как потребление памяти увеличивается по мере того, как страницы приложения ориентируются. Эта навигация выполняется в основном без вмешательства человека и инициируется через отдельную систему, отвечающую событиям в окружающей среде, например, автомобиль, проезжающий мимо датчика. Сам вернулся на стартовую страницу. Я вижу, что по мере того, как он навигает на обратный удар, и никогда не сбрасывается, поэтому я предполагаю (и от чтения других, таких как этот, как этот), что это причина утечки. Я никогда не вызываю frame.goback ();
Я использую этот простой метод для навигации по приложению:

Код: Выделить всё

 public async Task NavigateTo(Type kioskPage)
{
try
{
if (Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.HasThreadAccess)
{
Frame.Navigate(kioskPage, KioskModel);
}
else
{
await Task.Run(() => Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
() =>
{
Frame.Navigate(kioskPage, KioskModel);
}));
}
}
catch (Exception ex)
{
//maybe a race condition
Task.Delay(500).Wait();
try
{
await Task.Run(() => Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
() =>
{
Frame.Navigate(kioskPage, KioskModel);
}));
}
catch (Exception ex2)
{
HandleError(ex2, TrackedEventSources.Code, false, "Double thread exception", true, "NavigateTo");
}
}
}
Поэтому, если я хочу вернуться на начальный экран, я просто вызываю:

Код: Выделить всё

await NavigateTo(typeof(MainView), aModel);
< /code>
Это работает, будь то в основном потоке или на фоне. Сброс до 0? Или что -то я делаю не так с точки зрения того, как я навигации? < /P>
Я могу позвонить: < /p>
Frame.BackStatck.Clear();
Но это не освобождает память.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ear-frames
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»