资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

android手机如何获取某APP的页面耗时数据(命令行方式)-创新互联

android手机如何获取某APP的页面耗时数据(命令行方式)

在成都网站建设、网站设计中从网站色彩、结构布局、栏目设置、关键词群组等细微处着手,突出企业的产品/服务/品牌,帮助企业锁定精准用户,提高在线咨询和转化,使成都网站营销成为有效果、有回报的无锡营销推广。创新互联专业成都网站建设十载了,客户满意度97.8%,欢迎成都创新互联客户联系。
  1. 手机上请安装busybox;它的用途在于 模拟linux系统下的各种命令,比如 cp\grep...

    如果不搞步骤1,你后面会遇到麻烦的。。反正我是纠结了一下午。

2. 手机必须root过,能获取su权限;

3. 进入cmd,输入 adb shell;

4. 输入 su;

5. 输入命令 logcat |grep PACKAGENAME |grep Displayed

即可打印对应的页面的耗时数据(看了本文最后内的转载内容 ,你会明白为何要取这个数据);

6. 打印出的日志再可以处理;

备注:

华为手机 打不了日志 在adb shell logcat 下无法打印日志,提示如下:

Note: log switch off, only log_main and log_events will have logs!

解决方法:

手机拨号*#*#2846579#*#*,进入projectmenu--后台设置--LOG设置--LOG开关--打开;

PS:说明下手机activity启动时间计算方式 ,从log角度 计算

以下内容为转载:

如何统计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 deviceAndroidPlayback_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

03-06 03:36:48.099: DEBUG/AudioHardwareALSA(2377): Latency: 46439

03-06 03:36:48.134: INFO/WindowManager(2486): Setting rotation to 1, animFlags=1

03-06 03:36:48.154: INFO/ActivityManager(2486): Config changed: { scale=1.0 imsi=0/0 loc=en_CA touch=3 keys=1/1/2 nav=1/1 orien=2 layout=34 uiMode=17 seq=3 FlipFont=0}

03-06 03:36:48.189: INFO/Launcher(2570): onWindowFocusChanged(false)

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

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文题目:android手机如何获取某APP的页面耗时数据(命令行方式)-创新互联
文章起源:http://cdkjz.cn/article/ishpc.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220