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

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

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

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

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

posted @   lihaiyin  阅读(531)  评论(3编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示