• Windows Phone 7 不温不火学习之《程序性能分析器》


      不管是在哪个平台的开发,性能是至关重要的,尤其是移动开发,用户最关心的是你的应用的响应速度其次才是创意。网上有很实用的工具叫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,相差多大,多么神奇的东西,居家必备、杀人越货的的东西呀。。。

    这个工具用到这里,己经感觉很强大了,最后一个选项卡是可以把两个日志拿起来对比,它会告诉你,你的第二个日志是好的还是差的,比如比第一个好会标志绿色字体,而差则会显示红色字体,如下图如示:

    相同的文章可以参考:kylin 或者 Kadenchen ,希望对你有帮助。

  • 相关阅读:
    Restful api 返回值重复的问题
    fastDFS遇到的并发问题recv cmd: 0 is not correct, expect cmd: 100
    忽略警告@SuppressWarnings的用法
    Mysql 一些命令记录
    python 操作excel实现替换特定内容
    python 提取目录中特定类型的文件
    python使用tkinter无法获取输入框的值
    python使用tkinter无法给顶层窗体的输入框设定默认值
    游戏基础知识第一弹
    python 3.7.4 安装 opencv
  • 原文地址:https://www.cnblogs.com/xingchen/p/1972011.html
Copyright © 2020-2023  润新知