android - 布局类型之间的权衡

标签 android performance memory layout

在我的应用程序中,我有一个布局,我可以在一个 RelativeLayout 或嵌套的 LinearLayout 中进行布局。

布局之间是否存在已知的权衡?我的意思是,是否有类似 1 RelativeLayout 等于 3 嵌套 LinearLayout 之类的等式? 谢谢!

最佳答案

鉴于 RelativeLayout 使用的算法比 LinearLayout 使用的算法更复杂,您实质上要问的是“三个 LinearLayout 是否比一个RelativeLayout"性能方面。

我们可能会深入研究每个布局如何按层次测量包含的 View 的许多细节,并尝试给出问题的理论答案,但正确的答案是,恕我直言,找出答案的唯一方法是创建两种布局并测量测量每一种布局所需的时间。 当谈到性能时,分析始终是解决方案(过度先发制人的优化很少......)

另请记住,无论如何,分析数据的用途可能有限,因为随着 Android 操作系统的每次新迭代,开发人员可能会调整并(希望)改进用于放置 View 的算法(因此从2.2 分析 session 可能不代表您将在 ICS 中获得的结果)。

就我个人而言,我通常使用多重 LinearLayout 方法,因为我觉得它更容易阅读和修改,但是当我不得不切换到 RelativeLayout 时,我从来没有注意到性能显着下降/提高

希望对你有帮助

关于android - 布局类型之间的权衡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16787492/

相关文章:

android - 将 SurfaceView 中的 Canvas 缩放到大于屏幕尺寸的尺寸

multithreading - 混合SIMD指令和多线程时,我会受到性能损失吗?

java - 指定使用引用初始化类和不使用引用初始化类之间的区别

android - 如何在 Android 中获取内存文件的 FileInputStream?该文件位于我在应用程序空间中创建的自定义文件夹中

java - 查找范围内数字的倍数 [Java]

c# - 管理内存

android - Mac OS Flutter 构建 appbundle 失败 : Invalid keystore format

java - 从 Android 中的 JSONArray 中提取值

android - onCreate 和 onRestoreInstanceState 是互斥的吗?

c - 如何使这个非常小的 C 程序更快?