码迷,mamicode.com
首页 > 其他好文 > 详细

【转】获取Activity启动时间的三种方式

时间:2014-11-24 11:25:29      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:android   blog   ar   sp   java   for   on   div   art   

应用程序的启动时间也是衡量应用性能好坏的重要指标之一,所以我们来看一下如何获取一个程序启动所需的时间。

获取程序启动的时间有几种方法,详情见下文分析:

 

方法一:通过log获取。

思路:通过记录开始时间与结束时间,计算时间差来获取启动时间。

在onCreate()方法最后一行加入log.e(“TAG”,”"finish),通过查看logcat中的log输出来计算程序启动时间。

此种方法需要有源代码,并且比较原始,不推荐。

 

方法二:通过ActivityManager轮训来实现获取启动时间。

思路:通过轮训未出现时间与出现时间,计算时间差来获取启动时间。

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ActivityManager am = (ActivityManager) getSystemService(this.ACTIVITY_SERVICE);

        List<RunningAppProcessInfo> appinfo = am.getRunningAppProcesses();

        for (RunningAppProcessInfo runningAppProcessInfo : appinfo) {
            if (runningAppProcessInfo.processName.equals("yourpakagename")) {
                Log.e("TAG", System.currentTimeMillis() + "");
            }
        }

    }

  

 

此方法较第一种方法,不需要源代码,较精准。

 

 

方法三:通过外部调起应用(shell am)的方法来获取启动时间。

思路:通过Android shell 命令来调起应用获取启动时间。

adb shell am start -W -n yourpakagename/MainActivity

 

  

此法获取的启动时间非常精准,可精确到毫秒。

 

综上三种方法,方法一比较原始但是操作简单,适用于初学者用于要求不高的黑盒测试;方法二技术要求较高,适合于在手机上开发的应用对其他应用来检测启动时间;方法三适用于批量查看应用启动时间,缺点在于必须获取所有应用的LanuchActivity。

【转】获取Activity启动时间的三种方式

标签:android   blog   ar   sp   java   for   on   div   art   

原文地址:http://www.cnblogs.com/xiao-kkp/p/4117997.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!