游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

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端进入终端执行,则无此要求

部分省会城市公布去年具体经济数据广州GDP2。88万亿近段时间,多座省会城市陆续公布了2022年具体经济数据,部分城市还公开了财政收支情况。1月20日,广州市统计局官网发布消息称,根据广东省地区生产总值统一核算结果,2022……从还珠格格到我不是神药,细数角色与演员之间的那些错过《风吹半夏》正在热播,不仅全网好评,连人民往日报都称赞正能量,再一次证明颖宝选角的眼光,NO。1。不自觉想起2017年徐峥拍《我不是药神》时,曾找过一位重量级的女演员,对……人与人最好的相处模式尊重是标配,靠谱是高配,厚道是顶配《小窗幽记》有云:乍见之欢不如久处不厌。我们这一生会遇到很多人,起初相谈甚欢,相见恨晚,最后关系却慢慢变淡,能一直联系的已寥寥无几。想要拥有一段长久的关系,总是需要……重温伪装者我发现明台当初并不是被王天风抓走的,是心甘情愿文竹英我们都知道明台当初进军校,是被王天风强制带走的,甚至还给他下药将他抬到了军校,最后逼迫他留下的。表面上看起来明台是逼不得已被王天风带走的,其实仔细去看会发现明……翻开苹果的发家史写满了抄袭与不堪现在提到苹果相信大家脑子里蹦出来的词都是iPhone、A15、iPad、M1、Macbook、AirPods,万亿美元市值等这些词汇。别看苹果现如今风光无限,但想当初乔布斯创立……烂大街阔腿裤你还在穿吗?这条裤子才是真洋气不知道你们有没有注意到,最近街上越来越多的仙女开始穿起了休闲短裤。要说起夏日的百搭单品,它可以称得上是当之无愧,随便搭配什么单品都hin好看。拿起来穿了就能出门,简……新华视点首套住房贷款利率政策动态调整如何看?在阶段性放宽部分城市首套住房贷款利率下限数月后,中国人民银行、银保监会5日对外宣布建立首套住房贷款利率政策动态调整机制,明确将住房贷款利率政策与新建住房价格走势挂钩。这一政策调……挪威国油和壳牌出售俄罗斯相关资产2月底俄乌冲突爆发后,各大石油公司迅速宣布计划退出俄罗斯,目前已有公司开始出售俄罗斯资产。挪威国家石油公司(Equinor)是第一个剥离其在俄罗斯所有上游资产的公司,英荷壳牌紧……法媒曼联有意冬窗引进加克波,滕哈赫将其视为优先引援目标直播吧11月25日讯据《Footmercato》报道,曼联有意冬窗引进埃因霍温边锋加克波,滕哈赫将这名荷兰国脚视为替代C罗的理想人选。世界杯小组赛对阵塞内加尔,加克波打进……七言诗三首人生感悟二万丈深渊终有底,三寸人心不可量。不敢占卜问余年,唯恐余年似从前。一壶烈酒两口咽,半壶苦辣半壶咸。吃苦奋斗无人见,暴富之时都来现。自古人生苦无边,几两碎银……秦晓雯留人成功!CBA名将再打一年,留在北京首钢,继续冲击冠进入休赛期之后,北京首钢给球员短暂放假休整,而管理层还在研究补强的策略。这个休赛期,CBA自由市场拥有多名国手后卫,秦晓雯在手握两个顶薪名额的情况下,肯定会大手笔引进球员。从北……夏天不要总穿运动鞋,今年流行这4双鞋,清爽透气不捂脚,很显高鞋子的种类中入手率最高的应该就是运动鞋了,运动鞋舒适还很百搭,同时还能驾驭各种风格。不过若是你今年夏天还是穿运动鞋的话,那你就out了,夏天穿运动鞋捂脚不说,还很容易撞鞋!……
朝鲜观察,朝鲜农村人住什么样的房子?很多人对朝鲜农村的住房感兴趣,但不太了解。如果问朝鲜农村人住什么样的房子?要具体问题具体分析,不同地区的朝鲜农民,住的房子不一样。总的来说,朝鲜农村人的住房有以下几种。第一种是……华为麦芒20现身搭载骁龙4Gen1支持5G网络熟悉华为产品线的朋友可能都知道华为有一个名叫麦芒的品牌,早先属于华为和电信合作的,现在属于电信了,但依然也能在华为智选的产品库中看到。近日,华为智选麦芒20正式出现在了电……谷雨之福,更是在那秋后的五谷丰登里文龙行天下之波哥图网络窗外的雨淅淅沥沥地下着。轻开门窗,望着雨幕,我发现这雨落的是一种别样的风景,雨滴大如米粒,不急不躁温和地垂直而下,白茫茫的一片,犹如一张……FIBA更新男篮排名中国队下降一位列第29亚大区排名第4北京时间12月8日,FIBA更新男篮排名,中国男篮以361。7分排在第29位,相比上次排名下降1位。排在世界前10位的是美国、西班牙、澳大利亚、斯洛文尼亚、法国、塞尔维亚、阿根……保山昌宁国家二级保护动物灰鹤飞临越冬入冬后,素有雾城之称的保山市昌宁县,成群的灰鹤飞临这里,觅食越冬。翩飞的鹤群在白茫茫的晨雾中觅食起舞,打闹嬉戏。身姿优美的灰鹤映衬着秀美的田园风光,形成了当地居民难得一见……陷入恶性竞争难于自拔,天眼查的信任危机与商业化之困编辑于斌出品潮起网于见专栏近年,随着双创浪潮的来袭,创业公司的数量也高速激增。而与之对应的企业服务,也进入红利期。以商业查询为定位的天眼查,就是这个赛道的实力玩家之……一个人命里的钱,皆是定数人生在世命也运也命有八尺难求一丈钱,是这个世界上最美好的东西之一了,除了马老师不太喜欢以外,我想其他人没有不喜欢的了!姜子牙还没有出山之时,只能靠做点小……朋友圈晚安问候语,晚上了,要发个朋友圈吗?。星期四今天晚上睡觉之前呢,有三件事情要告诉你,第一件没关系的,第二件都会过去的,第三件你是被爱的。晚安。。。。。。。。攒……还珠格格第二部取景地是哪里?一据说上一部租避暑山庄拍戏成本巨大,第二部为了省时省钱,就在北影厂里自行搭建漱芳斋坤宁宫等皇宫内景,避暑山庄只作为空镜头出现;皇宫实景部分变成了北京大观园、太庙(劳动人民文……头发太多是用了不花钱叶子水?奔六老大妈问奔六老大妈希望自己头发能变少一点,她的头发又多又黑,非常茂盛,她很羡慕别人头发少的人,她一大把年纪了,头发即不变少也不掉,还是跟她年轻的时候一样多一样好,特别羡慕别人头发少少的……简单聊聊带孩子运动需要注意的几点昨天在五福堂公园,带乐乐和呵呵跑了3。3公里,这次是乐乐状态在线,呵呵老是在后面想休息。对比于上次跑步两人状态互换的情况来看,每个小朋友运动的状态可能不仅仅决定于他的体力……两双次数超越詹姆斯,这交易湖人亏大了,赶紧换掉他吧北京时间1月19号,NBA的赛事并不多,仅仅两场而已。但是,有关于球队交易的新闻并没有停止。据奇才随队记者NeilDalal报道,奇才不会在交易截止日期前用比尔交换大量资产。……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网