gpt4 book ai didi

android - RecyclerView如何实现ViewCacheExtension?

转载 作者:行者123 更新时间:2023-11-29 01:18:36 24 4
gpt4 key购买 nike

我找不到任何使用 ViewCacheExtension 的示例或场景。文档说:

When getViewForPosition(int) is called, Recycler checks attached scrap and first level cache to find a matching View. If it cannot find a suitable View, Recycler will call the getViewForPositionAndType(Recycler, int, int) before checking RecyclerView.RecycledViewPool

我有几个相关的问题:

  1. 我了解随附的废纸篓是不需要重新编辑的观点列表。但什么是“一级缓存”?
  2. getViewForPositionAndType()方法文档说:

This method should not create a new View

我还能如何返回 View ?我能想到的唯一方法是在 ViewCacheExtension 中缓存废弃的 View 。当 ViewCacheExtension 已满时,尝试将数据移动到 RecycledViewPool。有人可以确认我是否正确吗?拥有 4 级缓存(废料、“第一级”、ViewCacheExtension、RecycledViewPool)有什么意义?

即使查看了 RecyclerView 源代码,我也找不到正在实现的 ViewCacheExtensions 的引用。

最佳答案

我遇到了类似的问题,因为我需要缓存回收器 View 项(我正在膨胀 recyclerview 中使用的 View 并且大小是可变的......因此每次都有 View 膨胀和突然的 SCSS )

recycler View 缓存已经提供,我猜 recycler View 只是将缓存大小设置为零

所以当我添加这一行时,缓存是成功的,而且只是第一次出现这种问题

mRecyclerView.setItemViewCacheSize(data.getCount());

但如果用户只想缓存特定 View ,我也会感到困惑。有什么收获请留言

希望对你有帮助:)

关于android - RecyclerView如何实现ViewCacheExtension?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38194591/

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