zoukankan      html  css  js  c++  java
  • silverlight内存问题总结(一)—开篇

    时间过得很快,来星网三个月了,换了一个工作环境心情好了很多,三个月来没有发过一次脾气,哦不对发过一次脾气,那是昨天打电话给“伟大”的四创的”伟大“的财务人员,问我之前保险还有公积金是放在那个福州的部门的,我跟她一直解释,她一再地跟我争论,我还以为她听不懂我什么意思,最才发现她的意思是我已经离开四创,她没必要告诉我,其实就两个部门总共十几个字,她跟我争论半天,一直舍不得告诉我,我真的很无语,旁边的同事随口抛一句话,你原来那公司员工素质怎么那么差,我不知道该说什么,因为我也是从那公司出来的,其实以前类似这种事情经常发生,当然这句话打击面太广了,至少我自己从来不做这种非常具有“艺术性”的事情!对于这家公司我不想做过多的评论,毕竟我的基础技术是在那里沉淀的,任何时候人都要怀着一颗感恩的心。

         言归正传,三个月其实没有写多少代码,很多时候都是坐在那里思考,设计一些小实验,分析一些实验数据,偶尔还会自言自语一下,这三个月的工作都是围绕 “性能”,“cpu”,“内存”这几个主题。Silverlight 技术国内应用面还是非常地有限,各大论坛上有的都是一些控件使用简单技术文章,类似内存释放,内存泄露这种知识非常匮乏。博客园上有一个叫“深蓝色的右手”的人写了很多Silverlight游戏方面的文章,他的博客排名曾经一度压倒李会军那些MVP,里面有几篇文章号称 “将内存释放到底”,我稍微看了一下,我很想给他一封EMail告诉他,他释放的内存,还有释放内存的方法都是很常规的,简单概括地讲就是,内存中一块数据块,把指向这个数据块的所有指针都拔掉,垃圾回收器就会自动基于代龄来回收,“将内存释放到底”这句话言过其实了,国外高手所倡导的“弱引用”解决方案,在这些文章中提都没提到。当然出于对技术牛人的尊敬我并没有这么做,毕竟写了那么多关于Silverlight游戏文章,不是一般人能做到的。目前为止Silverlight内存释放方面存在很多问题,常规的方法根本就释放不了,国外很多人都在叫,微软自己也解决不了,有兴趣的可以到该网站上http://www.silverlight.net/搜一下Memory leak  or Memory  can not be released。我在上面看了很多文章,毕业时间有点长,英文退化的比较厉害,看得很吃力,虽然最后的解决方案还是我自己想的,但是有些东西是受上面的一些文章的启发的。个人觉得Silverlight 要和Flash 还有Flex 三分富客户端的天下,甚至彻底地击垮Flash 和Flex,内存释放将成为瓶颈(仅代表个人观点),至于丑陋Ajax,就和万恶的IE6一起退出历史舞台吧,当然这需要时间!

         下面介绍一些系统背景,为接下来几篇文章做一些铺垫。系统名称是GPS车载系统,总共就一个界面,分成三块,一块是地图,一块树形目录,一块日志四个报表。地图优化的应该来讲是很不错了,那么多数据在上面实时移动,还能那么流畅,跟台州项目中地图相比,一个在天上一个在十八层地狱,报表数据还有树形目录数据都在实时刷新,总共有一万多辆车,每30秒都有好几万数据在三个界面实时刷新,后台有十来个线程再跑,加上那些异步请求所生成的线程,线程比较多,很容易出现稳定性问题,很多代码都是在死循环里面跑的,这是系统大概的一个背景。好了今天就到此为止!

  • 相关阅读:
    python 垃圾回收装置
    文件夹同步/备份软件推荐 (SyncToy/FreeFileSync/Compare Advance/GoodSync/Allway Sync/Compare Advance)
    WCF的ABC
    NPOI导出多表头Execl(通过html表格遍历表头)
    分布式应用处理方式
    再探ASP.NET 5(转载)
    应聘.net开发工程师常见的面试题(五)
    应聘.net开发工程师常见的面试题(四)
    应聘.net开发工程师常见的面试题(二)(转载)
    应聘.net开发工程师常见的面试题(一)(转载)
  • 原文地址:https://www.cnblogs.com/zhengjianfeng/p/1863462.html
Copyright © 2011-2022 走看看