Win8 XAML 自定义控件资源加载与释放窍门
最近在项目中遇到一个问题,当页面跳转出去后,页面中的自定义控件竟然没有运行析构函数(当前页面没有设置NavigationCacheMode,默认为Disabled),对此不太理解微软的设计,难道是跟缓存有关?
自己做了个小Demo,发现在页面跳转时,写在XAML中的自定义控件不会运行析构函数,包括当前页面也不会运行析构函数,而是在下次打开此页面的时候才会运行,而且是先实例化一个新实例,然后销毁旧实例(对微软设计费解ing,望大神赐教)。
而如果是在cs代码中添加自定义控件到页面中,那么可以手动在页面跳转时自动加上销毁它的代码。
针对XAML中自定义控件内存释放,需要写到Unload事件中,相应的,相关被释放内存对象应该在loaded事件中加载和创建
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库