之前介绍了通过多ViewHolder实现单列表不同的效果,这次我们通过另一个方法实现同样的效果,那就是RecyclerView 1.2.0版本推出的ConcatAdapter 适配器。什么是ConcatAdapter?ConcatAdapter是RecyclerView 1.2.0版本推出的新适配器
如果用NestedScrollView来实现以上效果,就会出现瀑布流RecyclerView无限加载数据导致ANR,手动控制数据加载也可以,但会导致刷新列表时卡顿,这个卡顿会在数据加载越多而明显,因为瀑布流的Adapter不会再回收Item了,所以用户体验非常不好;这个时候我们就可以通过单RecyclerView+多ViewHolder来实现,由Adapter自己进行ViewHolder的回收。
kotlin flow介绍flow基于kotlin携程;使用方式类似于RxJava但更简单;flow可以转换成LiveData;结合协程的作用域,避免内存泄漏...
1. paging3相关依赖的引入:ext { room_version = "2.4.2" paging_version = "3.1.1" lifecycle_version = "2.4.1"}dependencie
SurfaceView介绍在Android中更新UI必须保证操作都在主线程中,如果画面经常刷新变动就会导致主线程阻塞,影响用户体验或更严重的ANR,这时就需要使用SurfaceView进行处理。SurfaceView可以另起一个线程单独进行画面更新的,通过对cavans进行绘制来实现画面显示,在重复
前情提要:在Android 10以上文件读取受限的解决方案文章中,通过Uri等形式进行文件读写,但对使用Environment类公共目录的读写不是很友好,并且第三方需要对我们的文件读取造成一定的麻烦。方案一:Environment实现在AndroidManifest.xml中加入<uses-p
接上个文章java的5种单例模式饿汉模式object TestDemo {}懒汉模式class TestDemo private constructor() { companion object { private var instance : TestDemo? = null