Я создал две (как можно более простые) страницы .XAML.
StaticPage.xaml
- Показывает использование памяти
- Ссылки на MemoryTest.xaml
MemoryTest.xaml
- Ничего не делает, кроме отображения 10 или около того текстовых блоков каждый с текстом = "Это некоторыеtext ".
ПРОБЛЕМА
Если все, что вы делаете, это переходите назад и вперед между страницами, используя гиперссылку, а затем аппаратную кнопку, использование памяти выглядитхорошо.но если вы продолжаете делать это снова и снова ... ОБА текущее использование памяти, и общее использование памяти поднимается !!!!!до предела 90 МБ.
Посмотреть мой скриншот здесь:
![enter image description here](https://i.stack.imgur.com/bzNqn.jpg)
Примечание:
Более быстрая навигация или замедление делаетне имеет значения.Нет ресурсов для освобождения, нет ничего, что можно было бы сделать в коде, потому что там ничего нет ... Теперь, если вы добавите больше элементов управления (как в обычном приложении, этот процесс ускорится).Добавление большего количества статических текстовых блоков также увеличивает скорость достижения предела в 90 МБ.
Это плохо, потому что у меня есть страница фотоальбома, которая использует память, которая не освобождается, и через 5 минут или при нормальном использовании она превышает 90 МБ... Мне нужно попытаться решить эту проблему, чтобы она не прошла проверку на рынке.
Вот код для каждой страницы
StaticPage.xaml
public partial class staticPage : PhoneApplicationPage
{
public staticPage()
{
InitializeComponent();
}
private void HyperlinkButton_Click(object sender, RoutedEventArgs e)
{
NavigationService.Navigate(new Uri("/TestDir/MemTest.xaml", UriKind.Relative));
txtMem.Text = String.Format("{0} MB Peak\n{1} MB Current", (DeviceStatus.ApplicationPeakMemoryUsage / 1048576).ToString(), (DeviceStatus.ApplicationCurrentMemoryUsage / 1048576).ToString());
}
}
MemoryTest.xaml
public partial class MemTest : PhoneApplicationPage
{
public MemTest()
{
InitializeComponent();
}
}