DataBinding单向绑定(one way)和双向绑定(two way)
单向绑定(one way):(数据刷新视图:数据→UI) 单向绑定是指数据源改变之后会立马通知 XML 进行赋值改变,刷新 UI。下面的几种可以单向绑定: ObservableFields 扩展的属性 ObservableInt ObservableField<T> BaseObservable 自定义属性 Vi...
单向绑定(one way):(数据刷新视图:数据→UI) 单向绑定是指数据源改变之后会立马通知 XML 进行赋值改变,刷新 UI。下面的几种可以单向绑定: ObservableFields 扩展的属性 ObservableInt ObservableField<T> BaseObservable 自定义属性 Vi...
RecyclerView 之 Prefetch 官方:https://medium.com/google-developers/recyclerview-prefetch-c2f269075710#.w7p8xngl6 什么是 Prefetch? RecyclerView25+ 和 API21 以上可以开启 prefetch;在 UI 线程空闲的时候,去获取 item,避免下次需要用的...
RecyclerView RecyclerView 四级缓存作用 RecyclerView 有四级缓存,分别是 mAttachedScrap(屏幕内),mCacheViews(屏幕外),mViewCacheExtension(自定义缓存),mRecyclerPool(缓存池) scrap(屏幕内) scrap 是用来保存被 rv 移除掉但最近又马上要使用的缓存。用于屏幕内 ViewH...
RecyclerView 开源库 Adapter 库 BRAV AdapterDelegates GitHub - sockeqwe/AdapterDelegates: “Favor composition over inheritance” for RecyclerView Adapters AdapterDelegatesManager AdapterDelegate...
RecyclerView 实现网页分格布局 GridLayoutManager+SnapHelper+ 坐标转换 具体实现见 PagingRecyclerView PagerGridLayoutManager Ref 其他一些开源库 https://github.com/hanhailong/GridPagerSnapHelper 不支持 ...
RecyclerView 基本使用 RecyclerView 类的分工 RecyclerView.Adapter 处理数据集合并负责绑定视图 ViewHolder 持有所有的用于绑定数或者需要操作的 View LayoutManager 负责摆放视图等相关操作 ItemDecoration 负责绘制 Item 分割线 ItemAnimator 为 Item 操作添加...
RecyclerView 性能优化 RecyclerView 定向刷新 notifyItemXXX payloads DiffUtil SortedList AsyncListUtil setHasStableIds()/getItemId() 它只会在调用 notifyDataSetChanged 方法之后,影响 RecyclerView 的行为。 setHas...
Fragment 生命周期 Fragment 生命周期简单版 onAttach():Fragment 和 Activity 相关联时调用。可以通过该方法获取 Activity 引用,还可以通过 getArguments() 获取参数。 onCreate():Fragment 被创建时调用onActivityCreated():当 Activity 完成 onCreate()...
Fragment 常见坑 Fragment 踩过的坑 内存重启: app 运行在后台的时候,系统资源紧张的时候导致把 app 的资源全部回收(杀死 app 的进程),这时把 app 再从后台返回到前台的时候,app 会重启;回收之前,系统会把 Activity 的状态保存下来,Activity 的 FragmentManager 负责把 Activity 的 Fragment 保存起来。...
CoordinatorLayout CoordinatorLayout(协调者布局) 是在 Google IO/15 大会发布的,遵循 Material 风格,包含在 support Library 中,结合 AppbarLayout, CollapsingToolbarLayout 等可产生各种炫酷的效果。 CoordinatorLayout 主要实现以下四个功能 处理子控件的...