2022 - 2023 公众号(名字:
代码说
)发表的文章,分类整理一下,方便阅读!2023,继续加油,共勉!
JetPack系列
- Android Jetpack系列之Lifecycle
- Android Jetpack系列之LiveData
- Android 基于Jetpack LiveData实现消息总线
- Android Jetpack系列之ViewModel
- Android Jetpack系列之MVVM使用及封装
- Android Jetpack系列之MVVM使用及封装(续)
- Android Jetpack系列之MVI架构
- Android Jetpack系列之DataStore
Jetpack Compose
Kotlin相关
- 提高开发效率!5个对开发者有用的Kotlin扩展函数
- Kotlin | 高阶函数reduce()、fold()详解
- Java & Kotlin类型检查instanceof、isAssignableFrom() 与 is、isSubclassOf()
- Kotlin | 作用域函数之let、with、run、also、apply的使用
- Kotlin | @JvmOverloads、@JvmStatic、@JvmField、@JvmInline等注解使用总结
- Kotlin | data数据类、copy()函数、sealed密封类
- Kotlin | 使用vararg可变参数
- Kotlin | 常用Collection集合操作整理
- Kotlin | 内联函数inline、noinline、crossinline
- Kotlin | 正确的使用Handler
- Kotlin | 深入理解协程
- Kotlin | Flow数据流详解
- Kotlin | Flow数据流的几种使用场景
- Kotlin | 基于协程Flow实现一个倒计时功能
View相关
- 超能力文本:探索Span机制的多彩世界(一)
- 超能力文本:探索Span机制的多彩世界(二)
- 超能力文本:TextView.setText(CharSequence, BufferType)中的秘密
- 超能力文本:两个示例学会自定义Span
- 高效复用:RecyclerView内部嵌套横向列表时的优化技巧
- Android 深入理解ViewPager2原理及其实践(上篇)
- Android 深入理解ViewPager2原理及其实践(下篇)
- Android仿淘宝、京东Banner滑动查看图文详情
- Android | 深入理解RecyclerView缓存机制
- Android自定义View中的常用方法(距离、位置、点击事件)
- Android View滑动相关的基础知识点
- Android Paint.Xfermode及离屏绘制
- Android自定义View工具:Paint&Canvas(上)
- Android自定义View工具:Paint&Canvas(下)
- Android Canvas之Path操作
- Android Path测量工具之PathMeasure
- Android 封装一个通用的PopupWindow
- Android 高仿QQ侧滑菜单
- Fragment.setUserVisibleHint()懒加载过时问题优化
- Android ViewTreeObserver使用总结及获得View宽高的几种方法
- Android WindowManger实现桌面悬浮窗
- Android 深入理解View.post()获取宽高、Window加载View原理
- [转]Android性能优化系列:VSync、Choreographer 和 Render Thread
- [转]RecyclerView、View的onAttachedToWindow和onDetachedFromWindow调用时
- [转]Android深入理解文字绘制:FontMetrics字体测量及其TextPaint介绍
- [转]ConstraintLayout(约束布局)使用详解
- [转]Android 全面屏体验
多线程相关
- JUC系列学习(一):线程池Executor框架及其实现ThreadPoolExecutor
- JUC系列学习(二):AbstractQueuedSynchronizer同步器框架及相关实现类
- JUC系列学习(三):ReentrantLock的使用、源码解析及与Synchronized的异同
- JUC系列学习(四):线程池阻塞队列BlockingQueue及其相关实现
- JUC系列学习(五):CountDownLatch、Semaphore、CyclicBarrier的使用及源码解析
- JUC系列学习(六):ReentrantReadWriteLock的使用及源码解析
- Java多个线程顺序循环执行的几种实现方式
- Java生产者、消费者模式的几种实现方式
- Java线程基础知识点整理
- Android中Callable、Future、FutureTask的概念以及几种线程池的使用
存储相关
- Android本地存储之SharedPreferences源码解析
- Android 性能优化篇之SharedPreferences使用优化
- Android Jetpack系列之DataStore
- Android数据库Sqlite的基本用法及升级策略
- Android本地存储的几种方式
Gradle相关
- Gradle理论与实践一:Gradle入门
- Gradle理论与实践二:Groovy介绍
- Gradle理论与实践三:Gradle构建脚本基础
- Gradle理论与实践四:自定义Gradle插件
- Gradle配置中subprojects 和 allprojects 的区别
- [转]Gradle构建生命周期及Hook技术
- [转]Gradle | Task进阶学习
- [转]Gradle | Project进阶学习
- [转]Gradle | Extension扩展详解