当前位置: 首页 > news >正文

电商网站开发多少钱atp最新排名

电商网站开发多少钱,atp最新排名,谷歌外贸平台推广需要多少钱,asp爆网站绝对路径背景 在开发中由于对语言特性不了解或经验不足或疏忽#xff0c;往往会造成一些低级bug。而内存泄漏就是最常见的一个#xff0c;这个问题在测试过程中#xff0c;因为操作频次低#xff0c;而不能完全被暴露出来#xff1b;而在正式使用时#xff0c;由于使用次数增加往往会造成一些低级bug。而内存泄漏就是最常见的一个这个问题在测试过程中因为操作频次低而不能完全被暴露出来而在正式使用时由于使用次数增加这个问题在很快就会出现。一旦出现就会导致程序直接退出或报错……使用中得益于使用量的增加未被回收的小对象不断实例化数量的叠加导致内存使用率会随时间的增长而增加直到影响程序的正常执行。 为了警醒鄙人同时方便以后查阅将在项目中实际处理的内存泄漏情况与处理办法进行下述总结。 常见泄漏 在C#中常见的内存泄漏主要是由于事件订阅造成 实例类订阅静态类事件不使用当前实例时未取消订阅导致静态类中一直持有订阅方实例类实例类不能释放而每次使用时不断实例化后实例数量不断增加。实例类中有类似timer之类定时运行的对象未释放未dispose导致实例类不能回收而实例类仍不断实例化。实例类中订阅了另一个实例类中的事件但另一个实例类的生命周期很长如果生命周期短订阅方在使用完后若被订阅方之后也完成了使命理论上是可以很快被GC回收的同时订阅方在未使用时也未及时取消订阅导致被订阅方长时间持有订阅实例。其它订阅未取消的情况。 实例类订阅静态类事件但未取消订阅 若在构造函数中订阅静态类FolderSelect中的AllFolderg事件 FolderSelect folderSelect FolderSelect.Instance; folderSelect.AllFolder FolderSelect_AllFolder; 如果在不使用时不执行 folderSelect.ScanAllFolder - FolderSelect_ScanAllFolder;就会导致FolderSelect静态类一直持有订阅类导致订阅类不能被回收。 同时由于实例类在实例化时会运行构造函数生成新的实例时会再次将新实例又再次订阅这个事件。那么当FolderSelect触发AllFolder事件时新、旧实例都会执行FolderSelect_AllFolderg事件这也可能导致一些不必要的问题。 实例类中timer未释放 在某些情况下,在对象类中会使用timer而timer在不使用时一定要dispose掉。由于timer在执行定时事件时会一直持有当前的对象从而导致对象不能被回收。另.net中涉及到的timer有6种详细见Timer Class (System.Threading) | Microsoft Learn中的详细介绍。 实例类订阅长生命周期实例类 以WINUI中常用的异常捕捉为例若在Page的构造函数中添加了下述代码 AppDomain.CurrentDomain.FirstChanceException CurrentDomain_FirstChanceException; 即每次实例化这个Page时都会订阅CurrentDomain_FirstChanceException这个方法而AppDomain的生命周期与程序一致导致它会一直持有当前订阅方的实例从而订阅方不能被回收。 其他订阅未取消 WINUI ComboBoxItem事件未取消 WINUI中的对ComboBox中的ComboBoxItem单独添加了Tapped事件而这个Tapped事件若在不使用时未取消订阅也会引起当前使用的对象不能被回收。 在WINUI中的ComboBox的UI代码如下 ComboBoxx:NameComboOrderWidth268Height70Margin5,0,5,0VerticalAlignmentCenterBorderThickness0FontSize38ForegroundWhiteLoadedComboOrder_LoadedSelectedIndex0Style{StaticResource DefaultComboBoxStyle2}Tag180ToolTipService.ToolTip排序ComboBoxItemx:NameCbiPatientNameContent患者名Style{StaticResource ComboBoxItemRevealStyle2}Tag0TappedCbiName_Tapped /ComboBoxItemx:NameCbiImportTimeContent时间Style{StaticResource ComboBoxItemRevealStyle2}Tag0TappedCbiImportTime_Tapped /ComboBoxItemx:NameCbiPlanPhaseContent阶段Style{StaticResource ComboBoxItemRevealStyle2}Tag0TappedCbiPlanPhase_Tapped //ComboBox 在上述代码中为ComboBoxItem添加了Tapped事件正是这个事件导致程序在退出ComboBox所在页时它所在的Page不能及时被回收导致再次进入时会新增它所在的Page实例。为了避免此问题不得以重写离开页面方法 protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)在这个方法中将ComboBoxItem的绑定事件全部取消。 可能原因ComboBoxItem为ComboBox的子控件导致ComboBoxItem的tapped事件的引用可能形成了闭包导致它所在的Page不能被回收。后续搞清楚原因再做相应更新。 取消订阅 取消订阅——对于事件订阅造成的内存泄漏当然是在不使用当前对象时就及时将它订阅的事件取消订阅即可。详细可参考如何订阅和取消订阅事件 - C# 编程指南 - C# | Microsoft Learn最下方的取消订阅栏。 弱事件管理——另外事件也可以使用弱引用进行相应的操作详细见MSDNWeakEventManager 类 (System.Windows) | Microsoft Learn。 利用诊断预防内存泄漏 除了在编程时就养成使用完订阅事件就马上取消另外在进行测试时也可以通过VisualStudio提供的诊断工具进行诊断。使用方法如下详细参见MSDN。 诊断工具下方选择内存使用率然后在内存使用率的面板左上角点击截取快照截取完成后如下再点击对象(差异)即可查看对象数量的情况。 在点击上图中的红圈后如下图在下图中左上角类型面板中搜索查看的对象。另还可在下图右上角与基线进行比较中选择一个你要比较的前一个内存快照。
http://www.dnsts.com.cn/news/263970.html

相关文章:

  • 两学一做教育网站帝国cms源码
  • 网站制作哈尔滨安徽企业平台网站建设
  • 高端网站建设优化中国世界排名前100的大学
  • 网站内容管理规范网站建设销售策划方案
  • 设计得好的网站推荐江苏省建设职业中心网站
  • 哪家手机网站建设wordpress删除全部评论
  • 网站建设出现401教做凉拌菜的视频网站
  • 长沙专业做网站公司有哪些网站建设运营的灵魂是什么意思
  • 上海品牌网站建设公司排名开发网站需要什么技术2022
  • 怎样做平台网站seo的作用是什么
  • 哪个网站做的系统好用吗百姓网二手车买卖
  • 自己可以做一个网站吗公司网站后台上怎么上传图片呢
  • 行业网站推广什么意思临沂做企业网站
  • 网站首页被k 做跳转网站建设公司商务网站项目书
  • 网站设计开发的销售主要工作做网站专题页需要注意什么
  • 南宁网站建设nnxun网站设计与网页制作心得体会
  • 瑞丽市建设局网站用meteor框架做的微博网站
  • 庞各庄网站开发公司世界十大网站开发公司
  • 网站诊断方法租云服务器一个月多少钱
  • 网站建站维护运营郑州正规公司网站建设服务
  • 帮企业做网站的公司天津市建设 中标公示网站
  • 网站收录不好怎么办济南seo排名优化推广
  • 网站ps照片怎么做的wordpress生成静态地图
  • 网站建设北京网页微博登录
  • 网站设计建设 公司wordpress 数据导入
  • 网站开发公司 重庆网站建设 技术协议
  • 做响应网站wordpress vpn
  • 合伙开公司建设网站被骗汕头建站服务
  • 旅游网站结构图免费正规大数据查询平台
  • 晋中市建设局网站网上运营培训班