Rxjava 线程切换原理
前言
rxjava 可以很方便的进行线程切换, 那么rxjava是如何进行线程切换的呢?...
android动态添加View,margin未失效
一:如何动态插入View (源码:SDK30)在讲实现前,我们先看下如何动态插入View,...
协程 Kotlin Coroutine 初探
协程 kotlin Coroutine
目录:
1. Coroutine 的基本使用
1.1 小结
2. CoroutineSco...
已测试自定义View:Measure过程说明之MeasureSpec类详细讲解
前言
在了解自定义View三大流程的Measure过程前,我们需要了解一个重要基础:...
Compose基础-创建你的第一个Compose应用
第一章 创建你的第一个Compose应用
Jetpack Compose是谷歌针对Android的声明式UI框...
Android | View.post 到底是在什么时候执行的?
前言
相信绝大部分人都使用过 view.post这个方法,且使用场景基本上都是用来获...
Flutter和原生Android控件对比
Flutter和原生Android控件对比:
Flutter控件
Android控件
AppBar
ActionBa...
Lifecycle原理分析
简述
LifeCycle通过在FragmentActivity中会添加ReportFragment用来监听Act...
Android设计模式源码解析之命令模式
1. 模式介绍
模式的定义
将一个请求封装成一个对象,从而使你可用不同的请...
Android渲染底层剖析
Overview
早年的Android系统UI流畅性差的问题一直饱受诟病,Google为了解决这个问...
自定义Android IOC框架
一、IOC简单科普
所谓IOC,即控制反转(Inversion of Control,英文缩写为IoC...
redux原理分析
前言
相信很多人都在使用redux作为前端状态管理库进去项目开发,但仍然停留...
ANDROID进程系统:进程的创建、启动与调度流程
文章目录
一 进程的创建与启动流程
二 进程的优先级
三 进程的调度流程...
LeakCanary原理分析
概述
LeakCanary是一个开源的内存泄漏检测库,极大简化了内存泄漏的检测流程。...
Kotlin 中初始化块、初始化的顺序、lateinit延迟初始化详解
1、初始化块:初始化块可以设置变量或值,以及执行有效性检查,如检查传给某构...
PendingIntent使用解析
PendingIntent 中的单词 “pending” 指延迟或挂起,就是指它是延迟的或挂起的。一句...
序列化机制深入了解 | Java
序列化是将对象保存在磁盘中,或允许在网络中直接传输对象。对象序列化机制允许...