我在Windows Phone应用中使用了实时平铺用户控件。我在XAML页面中使用了10个控件实例(从代码初始化)。当我导航回父XAML页面时,为所有10个磁贴控件分配的内存不会被释放。
具有10个活动Tile的子页面的RAM使用率为60 MB。当我导航回父页面时,内存最多可拍摄120 MB和Garbage collector does not reduce memory usage
。
此外,在2-3页导航后,应用程序内存使用量将拍摄到180 MB
并崩溃。
如何销毁此usercontrol
?它有2 Grid
,其中一个Image
和4 Storyboard
,它们在循环中被调用。我从here获得了控制权。另外,我附加了一个Tap
事件控制器。
更新
我在用户控件中实现了一个自定义方法来销毁。但是,这并没有释放记忆。
public void destroyImage()
{
Storyboard anim1 = (Storyboard)FindName("liveTileAnim1_Part1");
anim1.Stop();
Storyboard anim2 = (Storyboard)FindName("liveTileAnim1_Part2");
anim2.Stop();
Storyboard anim3 = (Storyboard)FindName("liveTileAnim2_Part1");
anim3.Stop();
Storyboard anim4 = (Storyboard)FindName("liveTileAnim2_Part2");
anim4.Stop();
(this.image1.Source as BitmapImage).UriSource = null;
(this.image1.Source) = null;
this.image1 = null;
}