У меня есть приложение и проблемы с памятью. Каждый раз, когда я перемещаюсь между страницами, использование памяти увеличивается.
Мое приложение состоит из трех страниц:
- MainPage Panaroma страница с 1 меню + 3 динамическими (чтение каналов)
предметы панарома
- HistoryPage еще Panaroma Страница (3panaroma предметов) со статическим
Текстовые блоки и 2-3 изображения по 15 КБ
- AboutPage Статический Pivot (2 элемента) Страница с текстовыми блоками и 1 15kb
изображение.
Ситуация 1:
При загрузке приложения требуется 37 МБ памяти.
Затем я перехожу на страницу «История» и возвращаюсь на главную страницу. Использование памяти увеличивается до 89 МБ.
Затем я снова перехожу на страницу истории и возвращаюсь, теперь она становится 109mb. Каждый раз, когда я перемещаюсь в использовании памяти все больше.
Ситуация 2:
При загрузке приложения требуется 37 МБ памяти.
Затем я перехожу на страницу «О программе» и возвращаюсь на главную страницу. Использование памяти увеличивается до 54 МБ.
Затем я перехожу на страницу истории и возвращаюсь, теперь она становится 94mb.
Каковы причины этой проблемы? Это содержимое является статическим текстом, и я не использую изолированное хранилище, надгробные памятники или что-то еще. Как я могу сделать это, чтобы удалить кэш, когда пользователь перемещается со страницы.
Спасибо, аванс. Пожалуйста, имейте в виду и извините меня, я действительно новичок в подобных вещах.
Кнопка навигации в MainPage.xaml.cs
private void Button_Click(object sender, EventArgs e)
{
NavigationService.Navigate(new Uri("/HistoryPage.xaml", UriKind.Relative));
}
HistoryPage.xaml
<controls:Panorama.Background>
<ImageBrush Stretch="Fill" ImageSource="backgrounds/PanoramaBackground.jpg" />
</controls:Panorama.Background>
<!--Panorama item one-->
<controls:PanoramaItem CacheMode="BitmapCache">
<ScrollViewer x:Name="hede" Margin="12,0,12,0" Grid.Row="1" Width="432" >
<StackPanel Width="432">
<Image Height="220" Name="image1" HorizontalAlignment="Left" Stretch="Fill" Source="images/logo.png" Width="172" Margin="0,30,0,0" />
<TextBlock ....
<TextBlock ....
<TextBlock ....
<TextBlock ....
<TextBlock ....
<TextBlock ....
</StackPanel>
</ScrollViewer>
</controls:PanoramaItem>
<!--Panorama item two-->
<controls:PanoramaItem Header="history" CacheMode="BitmapCache">
<ScrollViewer>
<StackPanel>
<Image x:Name="tarih" Source="images/history.jpg" Stretch="Fill" Width="380" VerticalAlignment="Top" HorizontalAlignment="Left"/>
<TextBlock ....
<TextBlock ....
<TextBlock ....
<TextBlock ....
</StackPanel>
</ScrollViewer>
</controls:PanoramaItem>
<!--Panorama item three-->
<controls:PanoramaItem Header="achievements" CacheMode="BitmapCache">
<ScrollViewer>
<StackPanel>
<TextBlock ....
</StackPanel>
</ScrollViewer>
</controls:PanoramaItem>
<!--Panorama item three-->
<controls:PanoramaItem Header="contact" CacheMode="BitmapCache">
<StackPanel>
<my:Map x:Name="stad" Grid.Row="1"
CredentialsProvider=.....
LogoVisibility="Collapsed" ScaleVisibility="Visible"
Center=..... ZoomLevel="15"
CopyrightVisibility="Collapsed" ZoomBarVisibility="Visible" Width="380" HorizontalAlignment="Center">
<my:Pushpin Location="....." Content="....."></my:Pushpin>
</my:Map>
<TextBlock ....
<TextBlock ....
<TextBlock ....
<TextBlock ....
</StackPanel>
</controls:PanoramaItem>
</controls:Panorama>
</Grid>
HistoryPage.xaml.cs
public partial class HistoryPage: PhoneApplicationPage
{
public HistoryPage()
{
InitializeComponent();
}
}