如何统计启动Activity所用的时间

  次阅读 来源:互联网(转载协议) 2016-01-14 11:02 我要评论(0)

如何统计Activity启动所用的时间?

可以通过分析Log得到(这个就是DDMS的那个Log)。

当我们点击触摸时会了类似以下的Log A:

03-06 03:36:47.865: VERBOSE/InputDevice(2486): ID[0]=0(0) Dn(0=>1)

03-06 03:36:47.865: INFO/PowerManagerService(2486): Ulight 3->7|0

03-06 03:36:47.933: INFO/(2486): PRODUCT_SHIP = false

03-06 03:36:47.933: VERBOSE/InputDevice(2486): ID[0]=0(0) Up(1=>0)

当系统收到一个启动Activity的Intent时会有类似以下的Log B:

03-06 03:36:47.954: INFO/ActivityManager(2486): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.teleca/.ContextMenuActivity }

当系统完成Activity进程启动时会有类似以下的Log C:

03-06 03:36:48.068: INFO/ActivityManager(2486): Start proc com.teleca for activity com.teleca/.ContextMenuActivity: pid=2933 uid=10089 gids={}

当系统完成显示一个Activity时会有类似以下的Log D:

03-06 03:36:48.302: INFO/ActivityManager(2486): Displayed activity com.teleca/.ContextMenuActivity: 240 ms (total 41289 ms)

那么启动Activity所用的所有时间=Log D那刻时间 减去Log A 那刻时间。

即:03:36:48.302减去03:36:47.933,简化即为:48.302减去47.933=369ms.

注1:从Log A到Log B为系统所用时间。:

注2:从Log B到Log D主要是activity本身创建所用的时间(on create(),onresume(),onDraw()等)。48.302减去47.954=348ms.有时也包括了系统为创建activity所在应用程序(APK)进程所用的时间。

注3:Log D 的“240 ms ”和“(total 41289 ms)”的意义还不清楚。只是”240ms“和Log C到Log D的时间很接近。

附件1:

一个启动activity的Log:

03-06 03:36:47.865: VERBOSE/InputDevice(2486): ID[0]=0(0) Dn(0=>1)

03-06 03:36:47.865: INFO/PowerManagerService(2486): Ulight 3->7|0

03-06 03:36:47.933: INFO/(2486): PRODUCT_SHIP = false

03-06 03:36:47.933: VERBOSE/InputDevice(2486): ID[0]=0(0) Up(1=>0)

03-06 03:36:47.935: VERBOSE/WindowManager(2486): Dsptch 1 x82.0 y592.0 > Window{485bd6c0 com.sec.android.app.twlauncher/com.sec.android.app.twlauncher.Launcher paused=false}

03-06 03:36:47.954: INFO/ActivityManager(2486): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.teleca/.ContextMenuActivity }

03-06 03:36:48.029: INFO/Launcher(2570): onPause()

03-06 03:36:48.044: DEBUG/AudioHardwareALSA(2377):ALSA OPEN mode 0,device 2

03-06 03:36:48.044: INFO/AudioHardwareALSA(2377): Try to open ALSA PLAYBACK device AndroidPlayback_Speaker_normal

03-06 03:36:48.048: WARN/Launcher(2570): WallpaperManager setVisibility visible true

03-06 03:36:48.068: INFO/ActivityManager(2486): Start proc com.teleca for activity com.teleca/.ContextMenuActivity: pid=2933 uid=10089 gids={}

03-06 03:36:48.099: INFO/AudioHardwareALSA(2377): Initialized ALSA PLAYBACK device AndroidPlayback_Speaker_normal

03-06 03:36:48.099: DEBUG/AudioHardwareALSA(2377): Set PLAYBACK PCM format to S16_LE (Signed 16 bit Little Endian)

03-06 03:36:48.099: DEBUG/AudioHardwareALSA(2377): Using 2 channels for PLAYBACK.

03-06 03:36:48.099: DEBUG/AudioHardwareALSA(2377): Set PLAYBACK sample rate to 44100 HZ

03-06 03:36:48.099: DEBUG/AudioHardwareALSA(2377): Buffer size: 2048

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 马云的新零售?张近东的智慧零售?抑或是刘强东的第四次零售革命?

    马云的新零售?张近东的智慧零售?抑或是刘强东的第四次零售革命?

  • 区块链最近太火,但A股多家公司明确表态不考虑涉足

    区块链最近太火,但A股多家公司明确表态不考虑涉足

  • 全球陷入"区块链狂热"潮,大规模应用还需等待

    全球陷入"区块链狂热"潮,大规模应用还需等待

  • 汤晓鸥:人工智能的中国式文艺复兴

    汤晓鸥:人工智能的中国式文艺复兴

网友点评网友点评
阅读推荐阅读推荐

算法 任何一个入门的软件开发人员都会听到这句话:算法是软件的灵魂!近年来大火的机器学习即是在算法在人工智能上的集中体现。今日头条通...

据《日本经济新闻》报道,日本东京大学教授稻叶雅幸等人开发出再现日本人骨骼肌肉构造的机器人。机器人各部位的肌肉和骨骼长度与日本人的平...

以奥黛丽-赫本为原型打造的人形机器人索菲娅首次拜访了印度。索菲娅是世界上首位获得公民身份的机器人,她在12月30日出现在了印度理工学院...

在查获现场,代售点电脑旁的一台机器人通过敲击电脑键盘抢票。 广州日报惠州讯 (全媒体记者秦仲阳 通讯员张中铃摄影报道)2018年春运售票已...