启动时间
来源:互联网 发布:java书籍推荐顺序 编辑:程序博客网 时间:2024/06/04 19:13
前言:
启动分为冷启动和热启动,简单区分:冷启动即进程发生了重启,热启动进程在后台(即常见的back 出去,home出去)
使用adb命令行查看冷启动热启动时间
1、冷启动
首先手动或使用命令关闭应用运行
adb shell am force-stop package
启动应用
adb shell am start -W -n package/activity
其中“package/activity”即为当前要测试的应用的“报名/activity名称”
查看一个应用的包名和activity名称的方法如下:
adb logcat |grep START
打开logcat输出,点击要获取的应用时,会输出一段日志,取日志中的“cmp”部分即为当前的应用报名+activity名称。
2、热启动
adb shell input keyevent 3
说明一下,上面的命令时模拟点击的3==home键来完成一次退出(完成对应操作含义见:http://www.cnblogs.com/dirt2/p/6928510.html)
推出后再次启动应用即可
adb shell am start -W -n package/activity
命令已经熟悉,需要对命令进行简单的脚本处理,就可以实现一次简单的自动化监控
# /usr/bin/python# encoding:utf-8import osimport timeimport csv# 启动appclass App(object): def _init_(self): self.content = "" self.StartTime = 0 def LaunchApp(self): cmd = 'adb shell am start -W -n com.huajiao.camera/ ' self.content = os.popen(cmd) # 停止app def StopApp(self): #冷启动 cmd = 'adb shell am force-stop com.huajiao.camera' #热启动 #cmd = 'adb shell inpt keyevent 3' os.popen(cmd) # 获取启动时间 def GetLaunchedTime(self): for line in self.content.readlines(): if "ThisTime" in line: self.StartTime = line.split(":")[1] break return self.StartTimeclass Controller(object): def __init__(self,count): self.app = App() self.counter= 0 self.data = [("timesstart","elapsedtime")] self.elapsedtime = "" self.timestart = "" #单次执行过程 def TestProcess(self): self.app.LaunchApp() time.sleep(5) self.elapsedtime = self.app.GetLaunchedTime() self.app.StopApp() time.sleep(3) self.timestart = self.getCurrentTime() self.collectAllDate() #多次执行 def run(self): while(self.counter >0 ): self.TestProcess() #获取当前时间戳 def getCurrentTime(self): currentTime = time.strftime("%Y-%m-%d %H:%M:%s",time.localtime()) return currentTime #写入时间 def collectAllDate(self): self.data.append((self.timestart, self.elapsedtime)) #数据存储 def SaveDateToCSV(self): csvfile = file('startTime.csv','wb') writer = csv.writer(csvfile) writer.writerows(self.data) csvfile.close()if __name__ == "__main__": controller = Controller(10) controller.run() controller.SaveDateToCSV()
输出的是一个csv文件,再用三方的数据处理工具处理一下即可,自己用的是number,可以用曲线图更直观的分析数据
阅读全文
0 0
- 启动时间
- 启动时间平均时间
- oracle启动、更改时间
- DM355 启动时间优化
- tomcat 修改启动时间
- 查看进程启动时间
- 修改tomcat启动时间
- 查看linux启动时间
- 内核启动时间优化
- 获取进程启动时间
- JBoss7的启动时间
- android 检测启动时间
- 得到开机启动时间
- tomcat启动时间修改
- 修改tomcat启动时间
- android启动时间
- 获取app启动时间
- tomcat 启动时间设置
- WebSocket刨根问底(一)
- (二十二)访问者模式详解(伪动态双分派)
- Java单例模式和多例模式知识点总结
- 算法题/寻找第K大数
- llinux鸟哥的私房菜学习笔记
- 启动时间
- ORacle学习笔记(四) 用户解锁,修改密码
- UVa11402 Ahoy, Pirates!
- 转:向linux服务器上传下载文件方式收集
- iOS设计:绘图及性能
- DFS深度优先搜索
- 爬虫学习教程
- 缓冲区溢出之返回地址保护
- 用CSS修饰上传文本框