[WM]谁抢走了应用程序的性能? 【转载】
C#写程序是快,但是写出来的程序性能可能会有问题(专指在CE&WM上).出了问题,自己在哪里吓YY没有任何作用,唯一的办法就是给程序做性能测试,看看问题到底出在什么地方.出现了问题,下来就好解决了.
据说MS有这样的工具,叫什么PowerToy,可能本人愚钝,用了半天没发现怎么使用.或许,那就是一个PowerToy.若是谁知道怎么使用,也可以告诉我~~
所幸,出了MS的还有其他的选择.EQATEC Profiler就是一个.本人使用一段时间,比较好用,所以推荐.
使用方法:
1. 本地Build,然后直接Run.
此工具不仅仅支持.NET CF,而且还支持.NET.所以针对.NET的程序,可以使用这种方法,run完之后,直接就能看到性能计数器的结果.
因为.NET CF的程序,很多时候不是纯Managed的,所以在PC上面Run的时候,会出错,得放到模拟器或者真机里面跑,然后拖出报告文件,查看.
2. 本地Build,模拟器(或真机)Run.
在Build Tab页,浏览到应用程序(二进制)的文件夹,然后点击右下角的Build.
把应用程序复制到模拟器或者真机(或者真实的运行环境)中去,运行.
完事后,会有一个报告文件,.eqlog后缀的.在WM中,那个报告文件会在/tmp目录生成,不同的环境可能会有不同的结果,自己寻找一下.
OK,上面的是方法,这个是程序所带的Demo的测试结果.
会有没个方法的运行次数和运行时间,而我们所要解决的就是那些运行次数多,而且耗时的方法.
剩下的问题,就是你来处理.~~
PS:发现一些东西可能会影响性能,注意是可能.
1. UI的布局.
2. 数据库的链接以及事务.(可能跟不同的数据库相关,看具体情况.)
3. 网络.