gpt4 book ai didi

android - 以编程方式(和膨胀)向布局添加 View 非常慢

转载 作者:行者123 更新时间:2023-11-29 20:58:48 25 4
gpt4 key购买 nike

我有 RecyclerView,它包含多个 View (大约 30 个),其中每个 View 都是页面/高度长。

RecyclerView 中的每个页面都包含可以水平滚动的 View (第一个水平 ScrollView 中大约有 20 个 View )和(第二个水平 ScrollView 中大约有 10 个 View )。

这意味着每次创建 View 时,每个 RecyclerView 都会创建大约 30 个 View (并扩充它们)。这非常非常慢。

     for(int i = 0; i < 10; i++) {
View details = LayoutInflater.from(parent.getContext()).inflate(R.layout.details, parent, false);
viewHolder.container.addView(details);
}

我尝试了多种方法,例如嵌套的 RecyclerViews,但速度同样慢。是否有一个很好的解决方案来为每个页面创建多个 View 而不会受到性能的影响(主要是在垂直滚动时看到,只有一秒钟,但仍然很烦人)。

到目前为止,我最好的解决方案是 RecyclerView + 每个页面的嵌套 RecyclerView 和创建较少布局的水平 ScrollView (只有 10 个而不是 20 个,而且它们很简单)。

谢谢

最佳答案

尝试仅在循环外获取 LayoutInflater 一次,然后将其添加到您的容器 View 中。(这假设 parentviewHolder.container 相同)

    LayoutInflater inflator = LayoutInflater.from(parent.getContext())
for(int i = 0; i < 10; i++) {
View details = inflator.inflate(R.layout.details, viewHolder.container, true);
}

关于android - 以编程方式(和膨胀)向布局添加 View 非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26819488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com