Android
文章平均质量分 68
Ice_Lemon_dc
Android
展开
-
Bitmap加载方式
Bitmap原创 2022-09-05 22:09:05 · 1203 阅读 · 1 评论 -
RecyclerView 性能优化
1. 数据处理和视图加载分离获取到数据的处理逻辑我们也应该放在异步处理,这样 Adapter 在 notify change 后,ViewHolder 就可以简单无压力地做数据与视图的绑定逻辑2. 数据优化对于新增或者删除数据通过 DiffUtil / AsyncListDiffer来进行局部刷新数据(覆写getChangePayload方法进行控件级别的刷新)3. 布局优化减少布局层级,可以考虑使用自定义 View 来减少层级,或者更合理地设置布局来减少层级从而减少过渡绘制;...原创 2021-06-08 22:05:56 · 158 阅读 · 0 评论 -
Handler机制
Handler通信Handler:负责发送消息及处理消息Looper:复制不断的从消息队列中取出消息,并且给发送本条消息的HandlerMessageQueue:负责存储消息Message:消息本身,负责携带数据Handler的构造方法原创 2021-06-08 21:33:43 · 65 阅读 · 0 评论 -
自定义View和事件分发
2.自定义View和ViewGroup套路总结2.1 自定义View的套路:2.1.1 自定义属性,获取自定义属性(达到配置的效果) 2.1.2 onMeasure()方法用于测量计算自己的宽高,前提是继承自View,如果是继承自系统已有的 TextView , Button ,已经给你计算好了宽高 2.1.3 onDraw() 用于绘制自己的显示 2.1.4 onTouch() 用于与用户交互2.2 自定义ViewGroup的套路: 2.2.1 自定义属性,获取原创 2021-04-25 00:30:32 · 137 阅读 · 0 评论 -
Material Design - CoordinatorLayout、SnackBar源码分析
Material Design - CoordinatorLayout、SnackBar源码分析CoordinatorLayout的behavior如何工作自定义Behavior放的全类名parseBehavior解析布局文件中制定的BehaviorBehavior到底是怎么实例的,调用 parseBehavior 解析我们设置的 layout_behavior :1.获取设置好的全类名 xxx.xx.xx 还可以是 .xx2.通过类名获取 class 然后获取两个参数的构造方法3.通原创 2021-04-22 00:06:31 · 81 阅读 · 0 评论 -
LruCache和DiskLruCache
//** * 三级缓存: * 一级缓存:内存缓存 * 二级缓存:硬盘缓存 * 三级缓存:网络缓存 * * @author 43497 * @date 2018/3/15 */public class LruCacheUtil {/** * 内存缓存最大值--设置为可使用的内存的1/8 * LruCache 如果缓存的大小已经达到了最大值,最近时间最少使用...原创 2018-03-18 22:06:12 · 206 阅读 · 0 评论 -
Android主题
1.系统主题 Theme.Light:标准主题的变体,该主题的背景和用户元素使用相反的颜色主题。它是Android3.0以前版本的应用程序默认推荐的使用主题。 Theme.NoTitleBar.Fullscreen:移除标题栏和状态栏,全屏显示。 Theme.Dialog:让Activity看起来像对话框的有用主题。 Them...原创 2017-12-16 22:00:45 · 176 阅读 · 0 评论