Android官方推荐ConstraintLayout约束性布局,并且也说他的性能比较高,可是我使用官方的方法进行性能测试,结果ConstraintLayout都比RelativeLayout低,请教下各位是我的测试方法出错了吗?还是有其他原因?测试环境:
小米6 MIUI 10 Android 8.0
测试一个登录页面的渲染过程,无须进行网络操作登录,打开登录页面,等待3秒,退出登录页面完成测试即可登录页面如下图(马赛克部分只是一个imageview):代码逻辑相同,只是使用xml布局文件不同,一个使用的RelativeLayout布局,如下:另一个使用约束性布局ConstraintLayout,如下:检测之前在登录的Activity页面的onCreate和onDestroy分别加入了检测标签:
最后在命令行开启systrace进行性能检测:
(检测两次, trace_con.html是ConstraintLayout的检测文件; trace_rea.html是RelativeLayout的检测文件)python /Users/sever1/Library/Developer/Xamarin/android-sdk-macosx/platform-tools/systrace/systrace.py -t 8 -a com.packagename -o ./trace.html gfx view res
最后两个结果:
ConstraintLayout的测试结果:RelativeLayout的测试结果:
所以,我的结论就是RelativeLayout比ConstraintLayout高,why?不是说好的ConstraintLayout性能高吗,怎么回事呢?我的测试文件和布局文件前往这里下载:
链接:https://pan.baidu.com/s/1C1gm3hCgaXNtghMFmLwOJQ 密码:yuq0
小米6 MIUI 10 Android 8.0
测试一个登录页面的渲染过程,无须进行网络操作登录,打开登录页面,等待3秒,退出登录页面完成测试即可登录页面如下图(马赛克部分只是一个imageview):代码逻辑相同,只是使用xml布局文件不同,一个使用的RelativeLayout布局,如下:另一个使用约束性布局ConstraintLayout,如下:检测之前在登录的Activity页面的onCreate和onDestroy分别加入了检测标签:
最后在命令行开启systrace进行性能检测:
(检测两次, trace_con.html是ConstraintLayout的检测文件; trace_rea.html是RelativeLayout的检测文件)python /Users/sever1/Library/Developer/Xamarin/android-sdk-macosx/platform-tools/systrace/systrace.py -t 8 -a com.packagename -o ./trace.html gfx view res
最后两个结果:
ConstraintLayout的测试结果:RelativeLayout的测试结果:
所以,我的结论就是RelativeLayout比ConstraintLayout高,why?不是说好的ConstraintLayout性能高吗,怎么回事呢?我的测试文件和布局文件前往这里下载:
链接:https://pan.baidu.com/s/1C1gm3hCgaXNtghMFmLwOJQ 密码:yuq0
解决方案 »
- Android requires compiler compliance level 5.0 or 6.0. Found '1.7'
- android 中创建文件 Permission denied
- 请问各位大侠,如何让闪光灯常亮?
- 各位大大请教1个X264的问题
- 播放网络多媒体资源的缓存处理问题
- 网页视频播放的问题。。。。。
- android怎么用intent跳转到文件管理器
- 利用webservice与sqlserver数据库连接,然后访问
- 【求助】Andriod SDk更新老是出错,百度了好久找的代理还是不行
- android开发
- Android Studio3.2.1在Build菜单没有Generate Signed Apk选项怎么回事
- android studio 显示的文件内容和真实的内容不一致
ConstraintLayout测量次数比较多,优势是减少布局的层级,减少过度绘制,提升帧数。如果布局比较简单还是用原来的布局好点儿。