Android(安卓)UI布局优化的要点
16lz
2021-01-24
以下翻译自《Professional Android 2 Application Development》第四章Create user interfaces的Optimizing Layouts部分。
通过inflate在Activity中布局是个有性能消耗的过程。每增加一个嵌套的布局和视图都会对应用的性能造成很大的影响。
总之,好的实践是尽量保持布局尽可能简单,尤其是要避免嵌套inflate操作整个新的布局,这是为更新已经存在布局的小变化。
以下几点是包含在Android最佳实践指导原则里的,当然并不绝对:
1、避免不必要的嵌套:不要把一个布局放置在其他布局里,除非是必要的。
2、避免使用太多视图:在一个布局中每增加一个新的视图,都会在inflate操作时耗时和消耗资源。任何时候都不要在一个布局中包含超过80个视图,否则,消耗在inflate操作上的时间会很大。
3、避免深度嵌套:布局可以任意嵌套,这极易于创建复杂和深度嵌套的布局层次。如果没有硬性限制,将嵌套限制在10层以下是好的实践。
4、优化布局层次,比如减少没效率的或者不必要的嵌套布局,是十分重要的。
Android SDK包含了layoutopt,一个命令行工具,来辅助这个优化工作。运行该命令,参数是布局文件或者布局文件的目录,将分析并给出改善的建议。
文章来源:http://marshal.easymorse.com/archives/4095
通过inflate在Activity中布局是个有性能消耗的过程。每增加一个嵌套的布局和视图都会对应用的性能造成很大的影响。
总之,好的实践是尽量保持布局尽可能简单,尤其是要避免嵌套inflate操作整个新的布局,这是为更新已经存在布局的小变化。
以下几点是包含在Android最佳实践指导原则里的,当然并不绝对:
1、避免不必要的嵌套:不要把一个布局放置在其他布局里,除非是必要的。
2、避免使用太多视图:在一个布局中每增加一个新的视图,都会在inflate操作时耗时和消耗资源。任何时候都不要在一个布局中包含超过80个视图,否则,消耗在inflate操作上的时间会很大。
3、避免深度嵌套:布局可以任意嵌套,这极易于创建复杂和深度嵌套的布局层次。如果没有硬性限制,将嵌套限制在10层以下是好的实践。
4、优化布局层次,比如减少没效率的或者不必要的嵌套布局,是十分重要的。
Android SDK包含了layoutopt,一个命令行工具,来辅助这个优化工作。运行该命令,参数是布局文件或者布局文件的目录,将分析并给出改善的建议。
文章来源:http://marshal.easymorse.com/archives/4095
更多相关文章
- Android(安卓)控件框架
- Android基础_页面布局_TableLayout(表格布局)
- Android(安卓)Data Binding 技术
- 家庭版记账本app进度之关于android界面布局的相关学习
- Android(安卓)聊天界面对话
- Android高手进阶教程(五)之----Android(安卓)中LayoutInflater的
- Android(安卓)ContextMenu
- Android(安卓)布局 屏幕适配
- Android开发——Android手机屏幕适配方案总结