Android直播间谈天消息列表,直播间RecyclerView。接纳3层缓存机制,一秒内

程序员 2024-9-30 02:33:44 39 0 来自 中国
Github链接,给个Star鼓励我写更多好库
直播间谈天消息列表,直播间RecyclerView。接纳3层缓存机制,一秒内收到几百条消息依然不卡顿。
功能(长处):


  • ✅接纳3层缓存机制 + 异步剖析ImageSpan。一秒内收到几百条消息依然不卡顿
  • ✅可设置RecyclerView最短革新时间间隔 。如0.5秒只触发一次notify
  • ✅可设置在短时间内如果收到太多消息可选择抛弃消息 。如0.5秒收到凌驾10条就抛弃了
  • ✅根据缓冲区消息数目选择差异的ScrollToBottom速率 。用户体验细节
  • ✅Demo中提供"底部另有XX条未读消息"的处置惩罚方式 。并解耦出来,用在你的谈天界面也可以
  • ✅Demo中提供弹幕中仿抖音的"粉丝团"标签处置惩罚方式 。我本身写的控件
  • ✅内存占用控制的很好,1秒收到几百条消息 帧数也控制在55以上
  • ✅完善解耦,无内存泄漏,接入很简单
详细技能阐明:


  • 第一层缓存:消息的标签ImageSpan缓存,比如"榜1" "品级" "粉丝团品级"<bar />
  • 第二层缓存:收到消息时间,查抄前次革新时间。如果刚前次刚革新不到0.n秒,那么就插入到缓冲区。0.n秒后将全部缓冲区表现出来再清空缓冲区<bar />
  • 第三层缓存:model中的SpannableString。让用户手指滚动列表更顺畅,无需再次剖析SpannableString<bar />
  • 额外缓存:剖析标签ImageSpan时间全程只接纳一个TextView,克制每次都new,json剖析也是如此
  • 异步剖析:剖析完备的(昵称前有3个标签)SpannableString在低性能手机上最慢须要20-40ms。会造成丢帧。本库接纳HandlerThread剖析<bar />
  • 提供计谋模式剖析标签ImageSpan,拓展性极强
结果gif图(Gif图有点卡,实际运行一点都不卡):


导入

    allprojects {        repositories {            ...            maven { url 'https://jitpack.io' }        }    }    dependencies {            implementation 'com.github.QDong415LiveMessageHelper:v1.0'    }利用
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 16:42, Processed in 0.155789 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表