我有一个应用程序并且有内存问题。每当我在页面之间导航时,内存使用量就会增加。
我的申请包括三页:
情况1:
加载应用程序时需要37mb内存。
然后,我导航到历史记录页面并返回主页面内存使用量增加到89mb。
然后我再次导航到历史页面,现在回来它变成了109mb。每次我导航内存使用都会产生影响。
情况2:
加载应用程序时需要37mb内存。
然后,我导航到关于页面并返回主页内存使用量增加到54mb。
然后我导航到历史页面,现在回来它变成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();
}
}
答案 0 :(得分:1)
疯狂猜测(没有看到你的代码),你每次刷新主页时都会生成(动态)全景项目,从而导致额外的负载。
基本上: