android - RecyclerView + NestedScrollView + BottomSheetBehavior = 性能不佳?
问题描述
使用Support library 27.1.1
. 我有NestedScrollView
一个BottomSheetBehavior。在底部工作表布局内,我LinearLayout
在顶部有一个标题视图,然后RecyclerView
在底部有一个。RecyclerView 填充了 10-20 个自定义视图,其中包含大量onDraw
方法。
拥有 RecyclerView 的整个想法是避免夸大这些视图,因为它们渲染起来非常繁重。我希望这些视图在滚动到视图后立即呈现(拖动底部表头)。问题是所有的孩子都会RecyclerView
立即膨胀/渲染。我以为我可以使用自定义来阻止这种情况发生,LinearLayoutManager
但到目前为止还没有成功。
网上有一些资源,讨论了这个特定的问题。但是,就我而言,有一些事情会改变条件。
- 与
RecyclerView
一起使用BottomSheetBehavior
。用一张纸的高度0dp
打不开! - 自定义视图的高度已知为视图宽度的一半。
- 支持库 27.1.1 或更高版本是目标(网络上的大多数讨论考虑 v23.2)。
问:RecyclerView
当放在NestedScrollView
with 中时,是否可以回收其视图BottomSheetBehavior
?onDraw
或者以某种方式防止子视图中的重度会更容易吗?
解决方案
推荐阅读
- android - 在绘制之前测量加权视图
- python - 抓取网站时出现 403 禁止错误,用户代理已使用和更新。有任何想法吗?
- python - 我在哪里可以获得比官方教程更多关于 igraph 的功能?
- database-design - Cassandra 大分区和重复数据删除
- javascript - Node.js 中的虚拟文件系统
- neural-network - YOLOv3 卷积层数
- django - 您可以以一种相同的形式创建父对象和子对象列表吗
- makefile - .PHONY 规则出现“无事可做”错误
- python - 如何将字符串更改为浮点列表和 n 维列表的“n”?
- docker - 启动用户态代理时出错:监听 tcp 0.0.0.0:7050:绑定:地址已在使用中