不管是在哪个平台的开发,性能是至关重要的,尤其是移动开发,用户最关心的是你的应用的响应速度其次才是创意。网上有很实用的工具叫EQATEC Profiler ,这是一个针对.NET平台的一个性能分析器,可以分析WP7 而面加载、执行的效率时间,不过针对 WP7有几点限制,最大的限制是其不支持XNA 开发的WP7程序,以下是其限制清单:
- Only WP7 Silverlight apps are supported for now, not WP7 XNA apps
- Constructors are not timed due to a WP7 IL-verifier problem
- The profiler cannot at present take an automatic snapshot(快照) when the WP7 app closes, so you must take snapshots manually during the execution.
- WP7 is very new technology; the APIs may change and potentially break the profiler. We'll strive(努力) to stay ahead and appreciate any WP7-feedback from you all.
下载地址:点击我
进入该网址,填写几个必要信息即可,他会把下载地址发到你邮箱,进入你的邮箱点击对应链接下载即可,不过下载速度,真他N的慢。下载完后,直接安装即可,不用配置。
好了,下面我们就用两段代码来测试它的分析效果吧。
要测试的页面效果如下:
点击按钮后,会执行一个方法,这里我们编写两个相同名称的方法,分不同时候加载,然后看加载后两个方法的执行效率如何,代码如下:
void test()
{
string a = "";
for (int i = 0; i < 10000; i++)
{
a += i.ToString() + "\r\n";
}
tb_test.Text = a;
}
void test()
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 10000; i++)
{
sb.Append(i.ToString() + "\r\n");
}
tb_test.Text = sb.ToString();
}
好了,开始使用这个工具。
为了安全起见,我们先把代码编译一遍,确认没有报错才打开该工具。
该工具的起始界面如下 :
如上图,App path:是你当前要测试的应用程序Bin 下面的Debug 目录,如果正确的话它会默认勾选上你的dll文件。之后点击右下角的Build按钮,显示Done 执编译通过:
通过后,旁边的Run app 按钮会可用,点击它启动设备,如果你是用的手机测试的话,不是用手机则选择Emulator选项,同时点击Run
注意,如果此时无法打开模拟器或者报当前资源正在使用,请把你打开的模拟器关掉,重新运行。确保一切没问题后,EQATEC Profile 会为我们打开一个模拟器,并导航到我们要APP界面。
点击上面的按钮,等程序执行完毕后,点击EQATEC Profile 的RUN选项卡,点击该界面上的Take snapshot 按钮,可以得到一份执行效率日志表,如下图:
第一次我们执行的是第一个代码的方法,选中我们生成的日志,点击右下方的VIEW按钮,可以查看一份详细的执行效率,如下 图:
如上图,MainPage里面的test 方法执行时间为3351MS,多么耗时的一个操作,换第二个方法试试:
看看mainPage里面的test 方法执行时间是多长,89MS,相差多大,多么神奇的东西,居家必备、杀人越货的的东西呀。。。
这个工具用到这里,己经感觉很强大了,最后一个选项卡是可以把两个日志拿起来对比,它会告诉你,你的第二个日志是好的还是差的,比如比第一个好会标志绿色字体,而差则会显示红色字体,如下图如示: