Win8 XAML 自定义控件资源加载与释放窍门

最近在项目中遇到一个问题,当页面跳转出去后,页面中的自定义控件竟然没有运行析构函数(当前页面没有设置NavigationCacheMode,默认为Disabled),对此不太理解微软的设计,难道是跟缓存有关?

自己做了个小Demo,发现在页面跳转时,写在XAML中的自定义控件不会运行析构函数,包括当前页面也不会运行析构函数,而是在下次打开此页面的时候才会运行,而且是先实例化一个新实例,然后销毁旧实例(对微软设计费解ing,望大神赐教)。

而如果是在cs代码中添加自定义控件到页面中,那么可以手动在页面跳转时自动加上销毁它的代码。

针对XAML中自定义控件内存释放,需要写到Unload事件中,相应的,相关被释放内存对象应该在loaded事件中加载和创建

posted @ 2013-05-30 21:18  lihaiyin  阅读(530)  评论(3编辑  收藏  举报