专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

Android性能测试(内存cpufps流量GPU电量)ad

  adb常用命令获取连接设备号:adbdevices列出设备所有已安装的包名(不需root权限)
  adbshellpmlistpackages,可以加上grep进行筛选(windows系统使用findstrixxxx或者find)
  3)查看进程列表:adbshellps,同时也能获取到应用的UID,方式如下(不需root权限):
  u0a开头的都是Android的应用进程,Android的应用的UID是从10000开始,到19999结束,可以在Process。java中查看到(FIRSTAPPLICATIONUID和LASTAPPLICATIONUID),u0a后面的数字就是该应用的UID值减去FIRSTAPPLICATIONUID所得的值,所以,对于截图这个应用进程,它是u0a155,按前面的规制,它的UID就是155FIRSTAPPLICATIONUID10155。内存说明
  VSSVirtualSetSize虚拟耗用内存(包含共享库占用的内存)
  RSSResidentSetSize实际使用物理内存(包含共享库占用的内存)
  PSSProportionalSetSize实际使用的物理内存(比例分配共享库占用的内存)
  USSUniqueSetSize进程独自占用的物理内存(不包含共享库占用的内存)
  一般来说内存占用大小有如下规律:VSSRSSPSSUSSadb查看单个内存占用量(均不需要root权限)单个应用的最大内存限制adbshellgetpropgrepheapgrowthlimit应用启动后分配的初始内存adbshellgetpropgrepdalvik。vm。heapstartsize单个java虚拟机的最大内存限制adbshellgetpropgrepdalvik。vm。heapsizeadb内存数据采集
  使用adbshelldumpsysmeminfos命令,输出结果分以下4部分:process以进程的PSS从大到小依次排序显示,每行显示一个进程;OOMadjustment分别显示每类的进程情况category以DalvikNative。artmmap。dexmap等划分的各类进程的总PSS情况total总内存、剩余内存、可用内存、其他内存
  执行结果如下图,重点取该应用的TOTAL对应的内存占用大小(KB)
  PS:在apk内调用运行获取其他app的内存数据则需要root权限adbfps(每秒帧数,计算流畅度)数据采集
  adb命令:adbshelldumpsysgfxinfo前提:开发者选项GPU呈现模式分析确保打开在adbshelldumpsysgfxinfo中or在屏幕上显示为线型图方法仅适用于Android原生应用,不适用于游戏
  正常情况下帧率应该在16。67ms左右,1秒60帧,执行结果如下:
  详细计算方法如下:首先获取执行一次命令打印出来的结果,重点关注DrawPrepareProcessExecute行下面的数据
  Draw:是消耗在构建java显示列表DisplayList的时间。说白了就是执行每一个View的onDraw方法,创建或者更新每一个View的DisplayList对象的时间。
  Process:表示是消耗在Android的2D渲染器执行显示列表的时间,view越多,要执行的绘图命令就越多,时间就越长
  Execute:消耗在排列每个发送过来的帧的顺序的时间。或者说是CPU告诉GPU渲染一帧的时间,这是一个阻塞调用,因为CPU会一直等待GPU发出接到命令的回复。所以这个时间,一般都很短。
  DrawPrepareProcessExecute完整显示一帧,这个时间要小于16ms才能保存每秒60帧。计算总数据的行数framecountrownum,计算每行渲染时间rendertimeDrawPrepareProcessExecute,当渲染时间16。67ms(100060),按照垂直同步机制,该帧已经渲染超时一旦rendertime16。67算一次jank(丢帧),一旦jank,需要用掉额外的vsync
  vsyncovertime向上取整(rendertime16。67)1
  比如:rendertime66。68vsyncovertime3
  rendertime67vsyncovertime4
  一次命令执行获得的fpsint(framecount60(framecountvsyncovertimesum))
  还有一个命令是:adbshelldumpsysSurfaceFlingerlatencyLayerName这个命令能获取游戏视频应用的fps数据
  其中LayerName在各个不同系统中获取的命令是不一样的
  在Android6系统直接就是SurfaceView
  在Android7系统中可以通过dumpsyswindowwindowsgrepmSurfacegrepSurfaceView然后通过数据截取到
  在Android8系统中可以通过dumpsysSurfaceFlingergrepandroid包名获取到
  执行命令结果如下:
  计算方法比较简单,一般打印出来的数据是129行(部分机型打印两次257行,但是第一部分是无效数据,取后半部分),取len2的第一列数据为endtime,取len128的第一列数据为starttime
  fps127((endtimestarttime)1000000。0)
  至于为啥要取第一列数据,这里不做过多介绍,欢迎参看这两篇文章
  老罗的文章SurfaceView原理
  Android性能测试之fps获取
  至于为啥要处于1000000,因为命令打印出来的是纳秒单位,要转为毫秒进行计算,127就是因为命令一次打印出来127帧的数据而已adbCPU占用率数据采集
  有两种方法可以获取
  1)adbshelltopn5grep,第三列就是实时监控的CPU占用率(n指定执行次数,不需root权限),这边top命令执行需要2到3s左右,一般可以采用busybox的top命令执行,效率会快很多
  2)adbshelldumpsyscpuinfogrep
  两种方法直接区别在于,top是持续监控状态,而dumpsyscpuinfo获取的实时CPU占用率数据adb耗电量数据采集
  adb命令:adbshelldumpsysbatterystatspackagepid(Android5。0后引入)
  获取单个应用的耗电量信息,具体返回结果待研究
  adb命令:adbshelldumpsysbattery
  出现信息解读:
  ACpowered:false是否连接AC(电源)充电线
  USBpowered:true是否连接USB(PC或笔记本USB插口)充电
  Wirelesspowered:false是否使用了无线电源
  status:1电池状态,2为充电状态,其他为非充电状态
  level:58电量()
  scale:100。电量最大数值
  voltage:3977当前电压(mV)
  currentnow:335232。当前电流(mA)
  temperature:355电池温度,单位为0。1摄氏度
  technology:Lipoly。电池种类
  adb采集流量数据
  adb命令:adbshelldumpsyspackagepidgrepUID〔通过ps命令,获取app的UID(安装后唯一且固定)〕
  adbshellcatprocuidstatUIDtcprcv〔cat为查看命令,读取tcprcv获取应用接收流量信息(设备重启后清零)〕
  adbshellcatprocuidstatUIDtcpsnd〔cat为查看命令,读取tcpsnd获取应用发送流量信息(设备重启后清零)〕
  计算流量消耗步骤:执行一次这两条命令,获取到应用的开始接收及发送的流量然后我们再操作应用,执行一段时间测试再次执行上述2条命令可以获取到应用结束时候的接收及发送的流量,通过相减及得到应用的整体流量消耗
  或者还有一种方式获取应用流量消耗:首先获取应用固定uid
  dumsyspackageandroid包名grepuserId执行catprocnetxtqtaguidstatsgrepuid其中第6列代表rxbytes接收的字节数,第8列为txbytes发送的字节数
  一个uid可能对应多个进程,把数据累加就行
  两个时间片中间应用流量的消耗,就计算接收字节数的差值就行adb采集CPU温度
  首先判断类型:
  catsysclassthermalthermalzonetype
  只有红框框出来的是有效的
  catsysclassthermalthermalzonetemp
  获取CPU温度
  adb采集电池温度
  dumpsysbatterygreptemperature单位0。1摄氏度
  adb采集整机CPU使用率和分核CPU使用率
  获取procstat文件内容(无权限限制)
  总的cpu时间片是totalusernicesystemidleiowaitirqsoftirq
  忙碌时间为notidleusernicesystemiowaitirqsoftirq
  cpu使用率计算方法为,先取开始的total值和忙碌时间notidle,隔一段时间片,再取一次计算total2,notidle2,cpuuse(notidle2notidle)100(total2total)
  PS:由于Android8权限收紧,在Android8系统手机内apk内读取文件内容为空,需要shell权限才可获取文件内容,下同adb采集各核cpu频率
  读sysdevicessystemcpucpuXcpufreqscalingcurfreq文件的值,X不定,看是几核手机,scalingcurfreq是否存在也不一定,需要判断
  至于为啥不取cpuinfocurfreq文件的值,原因是android6,7系统获取的时候,这个文件shell没有读取权限,需要root权限
  adb获取当前运行于手机前端的应用的包名
  Android6,7系统可执行
  dumpsyswindowwindowsgrepmCurrentFocus
  执行结果一般为类似:
  mCurrentFocusWindow{81caaa5u0com。tencent。mobileqqcom。tencent。mobileqq。activity。SplashActivity}
  按照一定规则把com。tencent。mobileqq提取出来即可adb采集GPU占用率,目前支持高通GPU芯片(QualcommAdreno系列)
  直接apk内读取文件即可,不需要shell权限(支持到Android8)
  Gpu使用率获取:会得到两个值,(前一个后一个)100使用率
  adbshellcatsysclasskgslkgsl3d0gpubusy
  Gpu工作频率:
  adbshellcatsysclasskgslkgsl3d0gpuclk
  adbshellcatsysclasskgslkgsl3d0devfreqcurfreq
  Gpu最大、最小工作频率:
  adbshellcatsysclasskgslkgsl3d0devfreqmaxfreq
  adbshellcatsysclasskgslkgsl3d0devfreqminfreq
  Gpu可用频率
  adbshellcatsysclasskgslkgsl3d0gpuavailablefrequencies
  adbshellcatsysclasskgslkgsl3d0devfreqavailablefrequencies
  Gpu可用工作模式:
  adbshellcatsysclasskgslkgsl3d0devfreqavailablegovernors
  Gpu当前工作模式:
  adbshellcatsysclasskgslkgsl3d0devfreqgovernor注意事项所有dumpsys命令获取性能数据,如果adbshell进入终端执行,均要求执行有shell权限,如果PC端进入终端执行,则无此要求

为啥要扫黑?狂飙热播的背后,是小人物的无奈这两天在追狂飙,一口气追完了,简直不要太爽。高启强这个角色,让人印象深刻,从小人物的卑微,到黑老大的狠毒,每一个眼神,无一不是演技的表露。艺术来源于生活,对于高启强的原型人物,很多新时代供销社重出江湖,遇到这5款白酒别错过,好喝还不贵人都是怀旧的,快节奏的时代给大众带来了极大的压力,使得人们想要回到曾经恬静雅致的生活,其中便有一部分人开始怀旧起儿时的供销社年代,每一间长长的供销社中,承载的是一个时代人们的记忆。都想当公务员不愿做工人,怎么办?茅台厂给我们树立了一个好榜样现在的情况已经很明显了,千军万马扎堆考公务员,却不愿意进厂当工人。公务员报考人早就不再是什么新闻,每年都大幅增加。几乎成为大学生最向往职业,甚至听说有不少大学毕业生为了能够保留应届从小就吃的糯米卷!一卷又绵又糯,吃一个顶饱半天!广式糯米卷这个广式糯米卷是早餐店经常卖的那种,毫不夸张地说,它承包了我家全年四分之一的早餐,时不时就会做来吃。你看它的个头比拳头还大,糯米面皮的双倍碳水组合,真的超耐饱的!不过这个自制馅大料足的肉松包,柔软得像棉花,还能拉丝,太香了关注大胖友图图,每天都能看到新奇,简单,美味又实用的食谱哦今天我要分享一个超柔软的沙拉肉松包食谱。喜欢吃肉松包的记得收藏起来哦。你需要准备的材料有面包高筋面粉200克,高活性干酵母杭州的宝藏馆子写过这么多,终于把它安排上了!朋友们,春节在家几天,我的肚子已经吃到圆滚滚了。感觉春假就是一场接一场的亲戚聚餐朋友聚餐,以各种名义一起躺吃躺喝。要说朋友们相聚,我想没有比聚吃一顿火锅更有氛围的了吧!之前写六盘水江西湖口梅花迎春绽放央广网湖口2月5日消息(记者邓玉玲)赏不够的雪中梅,闻不够的寒里香。近日,江西省九江市湖口县石钟山风景区里的梅花竞相绽放,热情芬芳。石钟山风景区梅花竞相绽放(央广网发张玉摄)石钟山以色列朝圣之旅地球岁月的一道皱痕拉蒙大峡谷从红海到死海,中间有一处红色峡谷地带,在靠近密兹比拉蒙小镇的拉蒙大峡谷是以色列的著名旅游景点。这是一个碗状的巨坑,坑底长40公里,宽8公里,深300米,俗称大弹坑。拉蒙大峡谷(俗称焰火晚会来了!这个元宵南阳三顾天空顶端新闻记者黄亚芳张玥颖新春的锣鼓声还在耳畔,元宵的香甜又开始萦绕在我们舌尖。建强副中心,奔向新辉煌。正月十五元宵节即将来临,2月5日1900,在2023年第一个月圆之夜,一场元宵想外出旅游,为什么说不要和熟人一起出行?难道还会出现麻烦现在很多人都踏上了旅行的道路,见识到更广泛的世界,在旅途中增加所见所闻,还能体会到不同地方的风土人情。但是很多人在旅游过程中,都不喜欢找熟人结伴旅游,这又有什么说法在里面?第一个原广东罗浮山酥醪村一天游前言广东罗浮山,罗浮山位于惠州市博罗县,广东四大名山之一,素有岭南第一山之称,国家5A级景区,中国道教十大名山之一!奇峰突兀,峰峦叠嶂,云雾缭绕!名泉飞瀑,洞天石室!繁花似锦绿植苍
哪些案件是令人咬牙切齿的?老人为了长寿,采阴补阳,吸食了8名女童的阴气,致5名女童丧生,3名女童残废。老人被官府抓捕后,官府要将老人枭首示众,没想到这个判决被皇帝一口否定。之后,皇帝亲自审判了老人,而皇帝的在当今社会,你觉得说真话还行得通吗?行不通也要讲真话,讲颜值也不涂脂粉,厚道人福气在后头。当今社会假话,空话,套话己蔚然成风。在某些时候,某些方面,某些人分不清讲出话是真是假,人心向背的倾向日趋复杂,因而在社会环境的联想资不抵债,为什么不申请破产保护?债权人也不申请联想破产?你以为柳传志不会走到这一步?至于什么时候破产?哪一天?柳传志都算好了!他不会像许宽印那么傻,直接就跟政府叫板!在合适的时间,合适的地点!不过,柳传志100会做这一套!不做那就不叫柳网贷逾期了,但是房贷和信用卡在坚持还,法院会判定为失信人吗?网贷起诉的话,法院正常情况是会受理。网贷的借款利息一般偏高,对于超过法律规定的利息部分没有法律效力,法院根据规定裁判即可。判决生效之后,网贷公司可以申请强制执行。案件进入强制执行程业主面对物业不作为拒交物业费被起诉,法院会支持业主吗?坚决去除物业!业主没人叫物业进住小区也没签字!业主不认可你们!感谢邀请。取消物业,民心所向!无本万利,坐地收钱的物业公司,在当下已经成为社会矛盾焦点,成为众矢之的,他们与业主产生的为什么有些人很聪明,却一辈子在社会底层?一聪明包括很多方面,有的人智商高,做事很专注,也叫聪明,但是这种人因为自己某些方面超于別人,所以目中无人,看不起人,当一个人孤立时,你再聪明也只你自己的认为,别人认为你不好相处,而法无禁止皆可行,谁能解释司马南炮轰的联想究竟违反了哪条法律?不是炮轰,是质疑。没有违法,那就光明正大地站出来释疑就行了,或者运用法律去维权。干嘛做缩头乌龟没有回应,却雇佣水军用下三滥的手段去抹黑人家?为什么用词炮轰?为什么单挑司马一人?炮轰汤杰还在自由球员名单当中,广东接下来是否会提供B类合同给他?都说广东队放弃他了,汤杰至今还在广东队,那么让名单也是走程序,广东队签约给B类原先说11月29日开始的窗口期可以注册新球员,但现在根本就没有汤杰的消息,至于说汤杰被放弃肯定是造谣,感觉老干妈变得难吃了,为什么?是真的难吃了!味道变得很明显,以前吃面条一个多星期就一瓶,现在一瓶能放半年这几年越吃越奇怪,我第一次吃的不对劲,家里人还说我嘴巴叼了啥的。后面也就是今年吃起来明显就是糊了的味道,家退休以后都归社保了,那么还区分工人和干部身份吗?退休后都归社保,你是说退休后都是社保发钱这个意思吗?社保是按照交费金额多少来计算发放退休金的。工人和干部身份不同,退休前的工资不一样,交费额度不一样,自然退休金不一样。社保有两个养你们那里的红薯和玉米用你们的方言怎么说?我们这里的红薯方言叫地瓜。说起地瓜,是农村的老人都忘不了它。我是60后,没赶上最艰苦挨饿的年头,赶上了在70年前后农村吃地瓜,那个时候是人民公社大集体领导,地里生产出来的粮食,交了
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网