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

本文探讨了UWP应用中自定义控件的内存管理问题,特别是在页面跳转时的析构行为。通过实验发现,XAML中声明的自定义控件在页面跳转时并不会立即运行析构函数,而是等到下一次打开页面时才执行。文章还提供了在不同场景下释放内存的具体方法。

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

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

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

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

转载于:https://www.cnblogs.com/lihaiyin/archive/2013/05/30/3109248.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值