使用Kotlin的协程可以很方便的写异步代码,再配合Google提供的ktx扩展组件,那就更方便了。
继续阅读关于Kotlin中的viewModelScope和lifecycleScope的使用和原理讲解分类: Android
自定义LayoutManager注意事项(三):自定义LayoutManager实战
通过前面两篇:《深入理解RecyclerView与LayoutManager(一):基本概念与原理》、《深入理解RecyclerView与LayoutManager(二):自定义LayoutManager注意事项》的学习,相信大家对RecyclerView以及LayoutManager都有了更深的认识。本篇将一步步的带着大家来实现一个案例效果,具体效果看这里。
继续阅读自定义LayoutManager注意事项(三):自定义LayoutManager实战深入理解RecyclerView与LayoutManager(二):自定义LayoutManager注意事项
上一篇主要介绍了RecyclerView的整体流程,最后也介绍了LayoutManager的作用——LayoutManager的工作实际上是帮助RecyclerView决定子View的位置。在正式实践之前,还得先梳理下自定义LayoutManager的流程以及一些需要注意的事项。
继续阅读深入理解RecyclerView与LayoutManager(二):自定义LayoutManager注意事项深入理解RecyclerView与LayoutManager(一):基本概念与原理
距离最近一篇博客已经过去了半年多了,再不写点啥今年定的产出5篇博客的计划可就要完不成了。纠结了很久又不知道写什么,留下了没有技术的泪水…。思来想去还是写点大家常用但是可能又理解不深,又想深入了解它的技术,没错,就RecyclerView了。
继续阅读深入理解RecyclerView与LayoutManager(一):基本概念与原理java和kotlin中的泛型上界(extends)下界(super)的理解
首先申明,本文不是讲解泛型的基础概念和用法,网上有很多普及类的博客,写的都很不错,本文的目的只是为了帮助大家理解泛型里面比较难懂上界和下界的概念。
继续阅读java和kotlin中的泛型上界(extends)下界(super)的理解Glide 4.0原理讲解(二)之缓存策略
Glide缓存主要分两种,一种是内存缓存,一种是磁盘缓存。其实也有说法是分三种,内存缓存又细分为活动缓存和内存缓存。两种缓存的作用不同,内存缓存的作用是防止应用重复将图片读取到内存中,磁盘缓存的作用是防止应用重复从网络或其他地方读取数据。
继续阅读Glide 4.0原理讲解(二)之缓存策略Glide 4.0原理讲解(一)之全流程
Glide的作用官网https://github.com/bumptech/glide已经做了很明确的说明了。简单总结就是用它来加载图片会很丝滑,几乎能满足你对图片的读取/缩放/显示的一切需求。性能方面,它兼顾了图片的解码速度以及图片的解码带来的资源压力。
继续阅读Glide 4.0原理讲解(一)之全流程Retrofit原理解析
retrofit和okhttp都是用来做网络请求的,并且都是出自Square公司。其中okhttp是用来代替android原生的HttpClient和HttpURLConnection的,官方也是建议用okhttp作为android底层的网络通信库。而retrofit将okhttp进一步封装,让开发者更方便的做网络请求。
继续阅读Retrofit原理解析RxJava3原理解析
建议大家先看看扔物线大神写的《给 Android 开发者的 RxJava 详解》,虽然是1.0版本的,但是RxJava发展这么多年,基本的核心思想并没有变。有了这篇文章作为基础再去理解RxJava3会容易很多。不能完全理解也没关系,本篇将由浅入深,带着大家一起来剖析RxJava3的原理。
继续阅读RxJava3原理解析View的测量和布局流程
View测量是为布局打基础,因为测量的过程就是计算View的位置和尺寸的过程,有了位置和尺寸就可以将View正确的布局到屏幕上。涉及的方法有onMeasure()、measure()、onLayout()、layout()。
继续阅读View的测量和布局流程