‘壹’ android:elevation导致卡顿
CPU资源消耗原因。一般android:elevation流畅度测试,关注图片处理器每秒刷新的帧数,他用来指示页面是否平滑的渲染,高的帧率可以得到更流畅,更逼真的动画,帧率越高,CPU资源消耗越大,达到60fps以上,电脑系统跟不上时,就会出现卡顿。所以以60fps作为衡量标准,即要求每一帧刷新的时间小于16ms,这样才能保证滑动中平滑的流畅度。
‘贰’ 鸿蒙OS 2.0流畅度实测:差距到底多大
近日,部分华为mate x2用户和开发者收到了鸿蒙2.0 beta版的升级推送。不同型号的手机会收到不同尺寸的鸿蒙OS 2.0测试版升级包。相对较大的升级包容量已达到6GB左右,系统版本号为2.0.0.51。
据悉,新版本UI设计微调、优化了过渡动画。
据微博数码大V介绍,升级到鸿蒙OS2.0系统后,整体系统流畅性提高,过渡动画,体验不错。
日前,大V展示了一段测试视频,与emui 11相比,鸿蒙OS 2.0开启应用流畅度更高。
屏幕左侧为配备emui 11.0的华为mate 40 Pro,右侧为配备鸿蒙2.0 beta 3(公测)的华为mate x2折叠屏手机。它们都是麒麟9000处理器,屏幕刷新率为90hz。
视频显示,测试的第一步是清理背景,开通微博、bilibili和和平精英。emui 11号下,微博上没有开屏广告,B站3秒钟内没有开屏广告。在鸿蒙旗下,微博上有广告,B站有5秒钟的开屏广告。
前三个应用程序在emui11下很快就能打开。当它们在台中重新加载时,鸿蒙OS2.0的动画表现得很流畅,emui11用肉眼看有减速的迹象。
至于和平精英这款 游戏 ,虽然鸿蒙OS初始打开更快,但弹出账号登陆界面所用的时间和EMUI 11几乎一致。
在评论页面,该大V留言表示:
“这里都是安卓App,应该是鸿蒙环境下的hap更快。”
“跟手度和响应速度感觉鸿蒙会快一点,但目前也只是一点,等年底看hap应用会不会快很多”。
上月底,大V发布了搭载鸿蒙OS2.0的华为mate x2折叠屏手机在播放《王者荣耀》极致画质和《和平精英》HDR抗混叠设置方面的表现。
从截图对比来看,鸿蒙OS 2.0在整体运行流畅性、稳定性和续航力方面都优于emui11,主要体现在低功耗和节电上。
图源:微博@数码闲聊站
个人测试,Emui11和harmony OS 2.0是华为mate40 pro的开放应用,应用速度可以切换。也许鸿蒙OS 2.0封装了鸿蒙和AOSP Android 10的双重架构,现有的应用大多在Android环境下运行,应用切换的流畅性有限。
好消息是,Harmony编译的应用正在进行内部测试,流畅稳定的鸿蒙OS 2.0官方版更吸引眼球。
升级鸿蒙OS后,有悬念。华为将如何处理其系统服务,特别是依赖Android的谷歌服务?据数字博主@xiao1u透露,在自己的mate40pro+手机上升级鸿蒙后发现,谷歌的服务完全不受影响,可以继续使用。
另一微博大V近日发布了一个全面而详细的鸿蒙系统体验分享,共有20种不同的用户体验。
据了解,今年6月,华为将正式向消费者推送鸿蒙OS。一批华为手机升级换代,包括华为mate 40系列、华为mate 30系列、华为P40系列、华为mate x2等机型。届时,用户将体验新版操作系统。
华为强调,鸿蒙OS的概念不同于传统的IOS和Android系统。它的定位是物联网时代的操作系统,面向整个场景,包括智能穿戴、家电、 汽车 、电视等。
除了致力于手机领域,华为还与多家家电厂商合作,为消费者带来多设备协同体验。目前,美的全系列家电都配备了harmony OS。同时,美的电器也是第一家推出配备华为鸿蒙系统产品的家电品牌。
美的鸿蒙新家电的亮点包括:网速配送、触控手机、3秒配送网络的设备可以实现基于WiFi感知的配送网络协议;通过手机功能界面可直接实现对设备状态的实时监控,包括运行状态、耗材提醒等;直接服务,手机触摸,您可以享受到清洁、维修、采购用品等一键直达原厂的服务。
此外,华为披露,鸿蒙OS吸引了20多家硬件厂商和280多家应用厂商参与生态建设。据测算,今年将有40多个主流品牌、1亿台生态设备成为鸿蒙系统体验的新入口。
在此之前,华为harmonic OS官方微博正式出现,其注册公司为华为终端有限公司。
官方博客的开通意味着华为鸿蒙系统全面上线。我们期待华为发布更多信息。
‘叁’ 如何测量Android应用的帧率FPS
通过 [设置]->[开发者选项]->[GPU呈现模式分析] ->[在屏幕上显示为条形图] 进行直观的取样,截图如下:
绘制过程中的不同颜色具有不同的含义,详细解释请移步>> 官网查看更多。
那么是不是说我只需要打开界面去数一下超过绿色阈值的柱状图有多少就可以观察我们应用的流畅度了?然而并没有,因为这个方式获取到的渲染时间只是UI主线程上的绘制行为,目前我所接手的项目,采用的方式是捕捉相机的数据然后放到GPU中去进行绘制,有单独的绘制线程,单独的视图,所以这个方案并不适合我手上的项目。
‘肆’ 如何更快速有效的收集Android应用的FPS
通常情况下,我们可以通过以下三种方式收集到APP的fps:
1、设备连接usb数据线,使用adb调试工具,输入命令:adb shell mpsys gfxinfo <pagekagename>,随后对返回的数据进行适当处理便可以得到此时此刻app的fps。这种方式是最普遍也是最常用的一种,但在使用上有明显的痛点,一是设备需要连接usb,二是adb命令返回的数据并不是实时fps,需要经过处理才能得到,因此不能在测试app的过程中实时显示fps,或许你可以写一个简单的脚本运行在pc端,在pc端显示fps,但对测试人员来说,一边看手机,一边看电脑的体验并不好。
2、通过在root的设备上安装第三方性能测试工具app,目前业界存在许多类似腾讯gt的性能测试工具app,安装这个app到设备后,便可以在测试app的过程中监控到被测app的所有性能数据,包括fps,一般也会有悬浮窗将性能数据实时显示在界面上,方便测试人员测试,但有个大前提:获取fps数据,设备必须root;
3、修改被测app源代码,通过Choreographer的回调FrameCallback来计算Loop被运行了几次,从而计算出应用的流畅度。这种方式得出的fps可能是最精确的,但是成本也是最大的。
‘伍’ 如何测试安卓(Android)系统的流畅度
测试方法一:系统自带-开发者模式
实际上,为了方便开发者测试,安卓本身就内置了流畅度检测的功能。不过,这需要我们开启隐藏的开发者选项。如果你在用原生系统,那么开启开发者选项的方法很简单,进入到设置菜单“关于手机”页面,点击数次“版本号”,即可开启开发者选项。如果用的是其他ROM,方法也许有所不同,比如说魅族的Flyme开启开发者选项的方法是在拨号界面输入“*#*#6961#*#*”,其他机器方法也各有不同,大家可以参照厂商的说明。
进入到开发者选项,可以看到有“GPU呈现模式分析”的选项,开启后即可以条形图和线形图的方法显示系统的界面响应速度,可以用以观察系统流畅度。那么要如何根据曲线判断系统是否流畅呢?实际上这个曲线表达的是GPU绘制每一帧界面的时间,只要不超过顶部绿线,都可以视为足够流畅。
开启GPU呈现模式分析
FPS Meter可以显示最大最小帧数以及平均帧数
FPS Meter可以测试界面帧数,不过某些手机如果界面静止,帧数会为0。FPS Meter除了测量系统界面帧数外,还可以用来测量游戏的帧数,所以用FPS Meter来测试某部安卓机游戏性能多强也是个很好的选择。
当然,FPS Meter也并非十全十美。由于属于第三方App,所以可能会有一些兼容性问题。某些安卓机或者ROM使用FPS Meter可能会不兼容,即使成功开启了帧数显示也没法测量到准确数值,而某些设备使用FPS Meter甚至会死机。不过在大多数情况下,这款App还是相当值得信任的。
安卓在多个版本中都通过新技术提升了流畅度,比如说安卓2.3引入Dalvik、安卓4.0引入GPU界面绘制、安卓4.1引入黄油计划、安卓4.3引入Trim以及安卓4.4引入ART等等。
H5页面加载速度:window.performance.timing
Android以上测试方法不适用h5页面
如何分析页面整体加载速度:
主要是查看指标值PAGET_页面加载时间,此指标指的是页面整体加载时间但不含(onload事件和redirect), 此指标值可直接反应用户体验, 从此项指标可以知道指定某时间段的页面加载速度值,以及和天,周,月的对比状况.也可以查询指标ALLT_页面完全加载时间, 可以查询到从浏览器开始导航(用户点击链接或在地址栏输入url或点刷新,后退按钮)到页面onload 事件js完全跑完的所有时间.如果发现页面加载速度有增加或减少,则可以分项查询前面表格中的每个指标值,总的来说他们的关系如下:
dom开始加载前所有花费时间=重定向时间+域名解析时间+建立连接花费时间+请求花费时间+接收数据花费时间
pageLoadTime页面加载时间=域名解析时间+建立连接花费时间+请求花费时间+接收数据花费时间+解析dom花费时间+加载dom花费时间
allLoadTime页面完全加载时间=重定向时间+域名解析时间+建立连接花费时间+请求花费时间+接收数据花费时间+解析dom花费时间+加载dom花费时间+执行onload事件花费时间
resourcesLoadedTime资源加载时间=解析dom花费时间+加载dom花费时间
流畅度暂时没有发现好用的测试衡量工具,开发层面了解,主要是根据log分析
‘陆’ 如何测量android应用的帧率fps和统计
Android应用的帧率FPS是衡量应用流畅度的一个非常重要的指标,可以根据FPS对应用做一些优化,那么在开发过程中如何来测量我们的应用的FPS呢?
工具/原料
Eclipse
三星GT-P3110
方法/步骤
在设置里打开GPU呈现模式分析。点击Android设备的“设置”->"开发者选项",然后勾选“GPU显示配置文件”。
从图中可以看出来,我这个应用的流畅度是很低的,正常情况下帧率应该在16ms左右,如果1秒60帧的话,而且Execute时间太长!所以是需要进行优化的。
是不是很简单,如果觉得有用,请为小编投上支持的一票,小编会继续努力谢谢你的支持哦。
‘柒’ android性能测试工具有哪些
大概有如下几个工具:
android针对上面这些会影响到应用性能的情况提供了一些列的工具:
1 布局复杂度:
hierarchyviewer:检测布局复杂度,各视图的布局耗时情况:
Android开发者模式—GPU过渡绘制:
2 耗电量:Android开发者模式中的电量统计;
3 内存:
应用运行时内存使用情况查看:Android Studio—Memory/CPU/GPU;
内存泄露检测工具:DDMS—MAT;
4 网络:Android Studio—NetWork;
5 程序执行效率:
静态代码检查工具:Android studio—Analyze—Inspect Code.../Code cleanup... ,用于检测代码中潜在的问题、存在效率问题的代码段并提供改善方案;
DDMS—TraceView,用于查找程序运行时具体耗时在哪;
StrictMode:用于查找程序运行时具体耗时在哪,需要集成到代码中;
Andorid开发者模式—GPU呈现模式分析。
6 程序稳定性:monkey,通过monkey对程序在提交测试前做自测,可以检测出明显的导致程序不稳定的问题,执行monkey只需要一行命令,提交测试前跑一次可以避免应用刚提交就被打回的问题。
说明:
上面提到的这些工具可以进Android开发者官网性能工具介绍查看每个工具的介绍和使用说明;
Android开发者选项中有很多测试应用性能的工具,对应用性能的检测非常有帮助,具体可以查看:All about your phone's developer options和15个必知的Android开发者选项对Android开发者选项中每一项的介绍;
针对Android应用性能的优化,Google官方提供了一系列的性能优化视频教程,对应用性能优化具有非常好的指导作用,具体可以查看:优酷Google Developers或者Android Performance Patterns。
二 第三方性能优化工具介绍
除了android官方提供的一系列性能检测工具,还有很多优秀的第三方性能检测工具使用起来更方便,比如对内存泄露的检测,使用leakcanry比MAT更人性化,能够快速查到具体是哪存在内存泄露。
leakcanary:square/leakcanary · GitHub,通过集成到程序中的方式,在程序运行时检测应用中存在的内存泄露,并在页面中显示,在应用中集成leancanry后,程序运行时会存在卡顿的情况,这个是正常的,因为leancanry就是通过gc操作来检测内存泄露的,gc会知道应用卡顿,说明文档:LeakCanary 中文使用说明、LeakCanary: 让内存泄露无所遁形。
GT:GT Home,GT是腾讯开发的一款APP的随身调测平台,利用GT,可以对CPU、内存、流量、点亮、帧率/流畅度进行测试,还可以查看开发日志、crash日志、抓取网络数据包、APP内部参数调试、真机代码耗时统计等等,需要说明的是,应用需要集成GT的sdk后,GT这个apk才能在应用运行时对各个性能进行检测。
‘捌’ 如何测试安卓手机的流畅性
测试方法一:系统自带-开发者模式
实际上,为了方便开发者测试,安卓本身就内置了流畅度检测的功能。不过,这需要我们开启隐藏的开发者选项。如果你在用原生系统,那么开启开发者选项的方法很简单,进入到设置菜单“关于手机”页面,点击数次“版本号”,即可开启开发者选项。如果用的是其他ROM,方法也许有所不同,比如说魅族的Flyme开启开发者选项的方法是在拨号界面输入“*#*#6961#*#*”,其他机器方法也各有不同,大家可以参照厂商的说明。
进入到开发者选项,可以看到有“GPU呈现模式分析”的选项,开启后即可以条形图和线形图的方法显示系统的界面响应速度,可以用以观察系统流畅度。那么要如何根据曲线判断系统是否流畅呢?实际上这个曲线表达的是GPU绘制每一帧界面的时间,只要不超过顶部绿线,都可以视为足够流畅。
开启GPU呈现模式分析
FPS Meter可以显示最大最小帧数以及平均帧数
FPS Meter可以测试界面帧数,不过某些手机如果界面静止,帧数会为0。FPS Meter除了测量系统界面帧数外,还可以用来测量游戏的帧数,所以用FPS Meter来测试某部安卓机游戏性能多强也是个很好的选择。
当然,FPS Meter也并非十全十美。由于属于第三方App,所以可能会有一些兼容性问题。某些安卓机或者ROM使用FPS Meter可能会不兼容,即使成功开启了帧数显示也没法测量到准确数值,而某些设备使用FPS Meter甚至会死机。不过在大多数情况下,这款App还是相当值得信任的。
安卓在多个版本中都通过新技术提升了流畅度,比如说安卓2.3引入Dalvik、安卓4.0引入GPU界面绘制、安卓4.1引入黄油计划、安卓4.3引入Trim以及安卓4.4引入ART等等。
H5页面加载速度:window.performance.timing
Android以上测试方法不适用h5页面
如何分析页面整体加载速度:
主要是查看指标值PAGET_页面加载时间,此指标指的是页面整体加载时间但不含(onload事件和redirect), 此指标值可直接反应用户体验, 从此项指标可以知道指定某时间段的页面加载速度值,以及和天,周,月的对比状况.也可以查询指标ALLT_页面完全加载时间, 可以查询到从浏览器开始导航(用户点击链接或在地址栏输入url或点刷新,后退按钮)到页面onload 事件js完全跑完的所有时间.如果发现页面加载速度有增加或减少,则可以分项查询前面表格中的每个指标值,总的来说他们的关系如下:
dom开始加载前所有花费时间=重定向时间+域名解析时间+建立连接花费时间+请求花费时间+接收数据花费时间
pageLoadTime页面加载时间=域名解析时间+建立连接花费时间+请求花费时间+接收数据花费时间+解析dom花费时间+加载dom花费时间
allLoadTime页面完全加载时间=重定向时间+域名解析时间+建立连接花费时间+请求花费时间+接收数据花费时间+解析dom花费时间+加载dom花费时间+执行onload事件花费时间
resourcesLoadedTime资源加载时间=解析dom花费时间+加载dom花费时间
流畅度暂时没有发现好用的测试衡量工具,开发层面了解,主要是根据log分析
‘玖’ 对比安卓!鸿蒙OS 2.0流畅度实测:差距到底多大
出处:电脑报(ID:CQCPCW)
最近一段时间,部分华为Mate X2用户和开发者已经陆续收到了鸿蒙2.0 Beta版升级推送,不少机型都有更新。且不同机型收到鸿蒙 OS 2.0 测试版的升级包大小也并不相同,其中比较大的升级包容量已经达到了 6GB 左右,系统版本号为 2.0.0.51。
据悉,新版本UI设计微调、优化了过渡动画。
根据微博数码大 V 透露,升级至鸿蒙 OS 2.0 系统后,整体系统流畅度提高了不少,并且过渡动画也更加顺手了,体验还不错。
日前,该大V又晒出了鸿蒙OS 2.0打开 App 流畅度对比EMUI 11的测试视频。
其中,画面左侧是搭载EMUI 11.0的华为Mate 40 Pro,右侧是搭载鸿蒙2.0 Beta 3(公测)的华为Mate X2折叠屏手机,两者都是麒麟9000处理器,90Hz屏幕刷新率。
根据视频显示,测试第一步清空后台,接着依次打开微博、酷安、Bilibili和和平精英。EMUI 11下微博无开屏广告、B站开屏广告3秒,而鸿蒙下微博有广告、B站开屏广告5秒。
所以前三款APP,都是EMUI 11下打开速度更快,不过从后台重新加载时,鸿蒙OS 2.0的动画更流畅,EMUI 11则有肉眼的缓慢迹象。
至于和平精英这款 游戏 ,虽然鸿蒙OS初始打开更快,但弹出账号登陆界面所用的时间和EMUI 11几乎一致。
在评论页面,该大V留言表示:
“这里都是安卓App,应该是鸿蒙环境下的hap更快。”
“跟手度和响应速度感觉鸿蒙会快一点,但目前也只是一点,等年底看hap应用会不会快很多”。
就在上月末,该大V还放出了搭载鸿蒙OS2.0的华为Mate X2折叠屏手机在玩《王者荣耀》极致画质和《和平精英》HDR抗锯齿设置时的性能表现。
从对比截图看,鸿蒙OS 2.0无论是整体运行流畅度,还是稳定程度都好过EMUI11,续航方面也更强一些,主要体现在功耗小,更省电。
经其亲测,EMUI11和Harmony OS 2.0两个系统在华为Mate40 Pro打开APP、切换APP的速度方面基本一致。可能是因为鸿蒙OS 2.0封装了鸿蒙和AOSP Android 10双架构,现有大多数APP的运行环境适配在Android环境之下的,因此APP开启切换的流畅度提升是有限的。
好消息是使用Harmony编译的APP已经处于内测中,更流畅、更稳定的鸿蒙OS 2.0正式版未来表现或更加亮眼。
升级鸿蒙OS之后还有一个悬念,那就是原来的系统服务怎么办,特别是依靠安卓系统的谷歌服务,华为会怎么处理呢?据数码博主 @Xiao1u 表示,已经在自己的Mate40 Pro+手机上升级了鸿蒙,发现谷歌服务完全不受影响,可以继续使用。
此外,另一位微博大V近日也发布了比较全面详细的鸿蒙系统体验分享,共计20个不同的使用感受。
据目前已知信息来看,大概在6月份的时候,华为会面向消费者正式推送鸿蒙OS,届时将有多款华为手机得到升级,包括华为Mate 40系列、华为Mate 30系列、华为P40系列以及华为Mate X2等机型的用户也将在那时体验新版本OS。
华为方面曾强调,鸿蒙 OS 与传统的 iOS、Android 系统的概念不同,其定位是万物互联时代的操作系统,面向的是全场景,包括智能穿戴、家用电器、 汽车 、电视等。
除了在手机端发力,华为已与多家家电厂商进行合作,为消费者带来多设备协同体验,目前,美的全品类家电均将搭载HarmonyOS。同时,美的也是第一个发布搭载华为鸿蒙系统产品的家电品牌。
据了解,美的鸿蒙新家电亮点包括:极速配网,只要用手机碰一碰,基于WiFi Aware配网协议即可实现设备的3秒配网;无屏变有屏,可直接通过手机功能界面实现设备状态的实时监控,包括运行状态、耗材提醒等;服务直达,手机碰一碰,即可享受清洗、维修、采购耗材等一键直达原厂服务。
除此以外,华为方面还透露,鸿蒙OS已吸引到20多家硬件厂商、280多家应用厂商共同参与生态建设。预计在今年会有40多个主流品牌、1亿台生态设备成为鸿蒙系统体验的新入口。
在此之前,华为HarmonyOS官方微博已正式亮相,注册公司为华为终端有限公司。
此次官博上线,将意味着华为鸿蒙系统将全面上线运营,后续的系统介绍、功能详解、更新预热等信息也都会在此帐号进行同步。
我们期待华为官方能在节后公布更多信息。