本文特别low
我设置item为200dp,打印20个,发现onCreateViewHolder仅仅执行了9次
int i = 0; @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { Log.i(TAG, "onCreateViewHolder: " + ++i); return new ViewHolder(((Activity)parent.getContext()).getLayoutInflate

本文探讨了RecyclerView的ViewHolder复用机制。当item高度设为200dp时,onCreateViewHolder只执行了9次,而全屏时执行5次,揭示了RecyclerView会在屏幕外额外创建4个ViewHolder作为缓存。onBindViewHolder的执行伴随着ViewHolder的复用,拖动过程中,早期创建的ViewHolder会被复用并更新数据,体现了RecyclerView的高效内存管理。
最低0.47元/天 解锁文章
6万+

被折叠的 条评论
为什么被折叠?



