我要在其中使用多个子项的情况下使用 FrameLayout 。我知道使用android:layout_gravity
属性可以将多个子项添加到FrameLayout中。但是我不清楚的部分是,如果我在FrameLayout中添加更多子代元素,是否会对应用程序的性能方面和成本方面产生影响
答案 0 :(得分:4)
大约是80。
当布局中的视图过多时,您将获得以下皮毛
AndroidLintTooManyViews
说明
布局有太多视图在一个布局中使用太多视图是不好的 性能。考虑使用复合绘画或其他技巧 减少此布局中的视图数。最大观看次数 默认为80,但可以使用环境变量进行配置 ANDROID_LINT_MAX_VIEW_COUNT。
请注意,由于不同设备的性能得分不同,因此限制在不同设备之间也有所不同。
答案 1 :(得分:2)
Android的FrameLayout中最大的子视图数是多少?
对于ViewGroup
在docs上可以有多少个孩子没有限制。但是,您应该尝试尽可能减少它,因为渲染时间太长,并且可能导致您的应用崩溃,并抛出OutOfMemoryException或StackOverflowException。也显示为here。
如果我在FrameLayout中添加更多子元素,是否会对应用程序的性能和成本方面造成影响
添加更多视图肯定会比加载较少视图花费更多时间。我猜正确的问题是,渲染视图的有效方法是什么?嵌套视图的效率很低,您应该始终尝试避免深入的层次结构,您可以实现通过使用ConstraintLayout
。您可以阅读有关优化视图层次结构here的更多信息。