- 博客(10)
- 资源 (14)
- 收藏
- 关注
转载 你可能不知道的Support:0步自动定向刷新:SortedList
由于IM会话列表是从数据库里读的,他还告诉我会有数据集重复的现象,且会话列表肯定是按时间排序的,所以这对我们的数据组织提出了两点要求:有序、去重。我的想法是:* 采用DiffUtil自动计算新老数据集差异,然后自动完成定向刷新。* 至于数据集的去重和有序,我打算用TreeSet去帮助我们做。利用Set本身元素不重复的特性,加之Tree的有序性,来解决数据组织的两个需求。可是leader不知道从哪搜出来一个SortedList,告诉我这是Android SDK提供的。也可以完成排序and去重。
2020-06-20 13:12:36 221
转载 RecyclerView的好伴侣:详解DiffUtil
一 概述DiffUtil是support-v7:24.2.0中的新工具类,它用来比较两个数据集,寻找出旧数据集-》新数据集的最小变化量。说到数据集,相信大家知道它是和谁相关的了,就是我的最爱,RecyclerView。就我使用的这几天来看,它最大的用处就是在RecyclerView刷新时,不再无脑mAdapter.notifyDataSetChanged()。以前无脑mAdapter.notifyDataSetChanged()有两个缺点:不会触发RecyclerView的动画(删除、新增、位移
2020-06-20 13:00:47 697
转载 RecyclerView notifyDataSetChanged 导致图片闪烁的原因
目前,在项目中一些主要页面(如图1 首页,采用ViewPager+TabLayout ,已实现数据懒加载)都会缓存第一页数据(网络)存DB,下次进来时会先请求DB数据,然后再请求网络数据,这样用户体验比较好。之前我们主要页面都是使用RadioPullToRefreshListView(封装的PullToRefreshListView,后面简称ListView)方式实现(刷新方式使用的是notifyDataSetChanged),这样不管DB中的数据和网路请求数据是否一样,都会刷新两次,体验上没...
2020-06-20 12:45:39 4428 1
转载 RecyclerView性能优化及高级使用
1、RecyclerView缓存1.1 RecyclerView主要有三级缓存:(1)Attached scrap & Changed scrapArrayList<ViewHolder> mAttachedScrap 主要用在插入或是删除itemView时,先把屏幕内的ViewHolder保存至AttachedScrap中,作用在LayoutManager中,它仅仅把需要从ViewGroup中移除的子view设置它的父view为null,从而实现了从Recycler
2020-06-20 12:27:08 2607
转载 基于滑动场景解析RecyclerView的回收复用机制原理
最近在研究 RecyclerView 的回收复用机制,顺便记录一下。我们知道,RecyclerView 在 layout 子 View 时,都通过回收复用机制来管理。网上关于回收复用机制的分析讲解的文章也有一大堆了,分析得也都很详细,什么四级缓存啊,先去 mChangedScrap 取再去哪里取啊之类的;但其实,我想说的是,RecyclerView 的回收复用机制确实很完善,覆盖到各种场景中,但并不是每种场景的回收复用时都会将机制的所有流程走一遍的。举个例子说,在 setLayoutManager、setA
2020-06-20 11:53:30 412
转载 一篇文章让你轻松弄懂NestedScrollingParent & NestedScrollingChild
虽然很早之前使用CoordinatorLayout时就认识过nestedScrollingChild和nestedScrollingParent, 也看多很多博客,但每次看着就不知所云了,所以这篇文章,我们就以问题为线索,带着问题找答案。1. 谁实现 NestedScrollingChild,谁实现NestedScrollingParent ?在实际项目中,我们往往会遇到这样一种需求,当ViewA还显示的时候,往上滑动到viewA不可见时,才开始滑动viewB, 又或者向下滑动到viewB不能滑动时
2020-06-20 10:42:23 600 1
转载 可水平滚动RecyclerView,自定义滚动条滚动距离
前几天,产品出了个原型图,直接截图拼多多,可滑动宫格,实现随意水平滑动。于是研究下拼多多的样式,感觉是一个水平滑动的RecyclerView,但是底部的滚动条,瞬间挠头了~~~于是乎研究滚动条,尝试修改RecyclerView自带的滚动条,可把自己折腾坏了,游标的滑动时可以自定义了,但是底部scrollbarTrackHorizontal 的长短修改不了。另寻他法。。。研究了下源码,有这几个方法可以使用。。。//当前RcyclerView显示区域的高度。水平列表屏幕从左侧到右侧显示范围i...
2020-06-20 10:38:46 2204
原创 RecyclerView——SnapHelper详解
简介RecyclerView在24.2.0版本中新增了SnapHelper这个辅助类,用于辅助RecyclerView在滚动结束时将Item对齐到某个位置。特别是列表横向滑动时,很多时候不会让列表滑到任意位置,而是会有一定的规则限制,这时候就可以通过SnapHelper来定义对齐规则了。SnapHelper是一个抽象类,官方提供了一个LinearSnapHelper的子类,可以让RecyclerView滚动停止时相应的Item停留中间位置。25.1.0版本中官方又提供了一个PagerSnapHelp
2020-06-20 10:32:44 1377
原创 Android动画原理
首先说Animation(android.view.animation.Animation)对象。无论是用纯java代码构建Animation对象,还是通过xml文件定义Animation,其实最终的结果都是Animation a = new AlphaAnimation();Animation b = new ScaleAnimation();Animation c = new RotateAnimation();Animation d = new TranslateAnimation()
2020-06-20 10:20:40 533
转载 GestureDetector使用详解
Android sdk给我们提供了GestureDetector(Gesture:手势Detector:识别)类,通过这个类我们可以识别很多的手势,主要是通过他的onTouchEvent(event)方法完成了不同手势的识别。虽然他能识别手势,但是不同的手势要怎么处理,应该是提供给程序员实现的。GestureDetector这个类对外提供了两个接口和一个外部类接口:OnGestureListener,OnDoubleTapListener内部类:SimpleOnGestureListener这个
2020-06-20 09:53:26 6497
安卓 OpenGL ES 2.0 完全入门(一):基本概念和 hello world.docx
2019-08-25
OkHttp使用教程
2015-12-18
IDirectDraw7的使用
2014-10-14
DirectDraw7编程基础
2014-10-14
MTK短信编码.docx
2012-12-06
刷机原理04 Android系统Recovery模式的工作原理.wps
2012-10-24
刷机原理03 Android系统的三种启动模式.wps
2012-10-24
刷机原理02 Android升级包update.zip的生成过程分析.wps
2012-10-24
刷机原理01 update.zip包目录结构
2012-10-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人