1. 挂起函数 挂起函数是 Coroutine 实现的核心,当我们在调用挂起函数的时候,需要保证调用点符合下面两种情况: 另一个挂起函数中调用 协程体 block 中调用 如...
1. 挂起函数 挂起函数是 Coroutine 实现的核心,当我们在调用挂起函数的时候,需要保证调用点符合下面两种情况: 另一个挂起函数中调用 协程体 block 中调用 如...
7. Compose 的渲染 7.1 Compose 渲染过程 对于任意一个 composable 的渲染主要分为三个阶段: Composition,在这一阶段决定哪些 co...
1. 命令式 UI 和声明式 UI 1.1 命令式 UI 在传统的 XML UI 系统中,创建一个 UI 的逻辑往往分为以下几步: 通过 xml 控件完成 UI 布局 运行期...
1. 验证通信安全的四大特性 机密性:就是指对数据的保密性。简单来说,就是不能让不相关的人看到不该看的东西。 完整性:就是指数据在传输过程中没有被篡改。 身份认证:确认对方的...
Telnet 访问网站方式 运行 CMD telnet 网址 端口号。如:telnet www.example.com[http://www.example.com] 80 ...
问题描述 在项目中依赖了 A 库的 X 版本后,后面改了库的版本,但项目依赖的还是老的版本,并没有切换到新的库上面来,导致无法依赖新的库版本。 比如:项目中最开始依赖了 Zx...
1. 功能说明 在文章开头处,先对要实现的功能进行说明,以方便大家对该文章想要分析的问题有一个大致的了解。 首先,我们需要集成 Bugly 组件用于应用崩溃后的错误信息捕获。...
1. HTTP 连接管理 1.1 短连接和长连接的区别 短连接:每次请求-响应,都需要建立和断开 TCP 连接,而 TCP 连接相比比较耗时,所以,短连接效率低。 长连接:当...
1. HTTP 的版本 1.1 HTTP/0.9(20 世纪 90 年代初) 采用纯文本格式 由于最初设想的系统里的文档都是只读的,所以只允许 GET 动作从服务器拉取 HT...
1. 重构的目的? 重构是一种对软件内部结构的改善,目的是在不改变软件的可见行为的情况下,使其更易理解,修改成本更低。 1.1 重构不改变软件的可见行为 也就是在保证功能不变...
1. 什么是面向对象编程和面向对象编程语言 面向对象编程是一种编程范式或编程风格。它以类或对象作为组织代码的基本单元,并将封装、抽象、继承和多态四大特性,作为代码设计和实现的...
K.Y.D.L 四原则 K:KISS(Keep it Simple and Stupid)简单原则Y:YAGNI(You Ain't Gonna Need It)不编写不需要...
SOLID 原则 S:单一职责原则 SRP(Single Responsibility Principle)O:单一职责原则 OCP(Open Close Principle...
行为型设计模式范围 观察者模式 模板方法 策略模式 职责链模式 状态模式 迭代器模式 访问者模式 备忘录模式 命令模式 解释器模式 中介模式 行为型设计模式作用 行为型设计模...
行为型设计模式范围 观察者模式 模板方法 策略模式 职责链模式 状态模式 迭代器模式 访问者模式 备忘录模式 命令模式 解释器模式 中介模式 行为型设计模式作用 行为型设计模...
结构型设计模式汇总 结构型设计模式名称 结构型设计模式主要包括 7 大类: 代理模式 桥接模式 装饰器模式 适配器模式 门面模式 组合模式 享元模式 结构型设计模式作用 主要...
责任链设计模式及其典型应用场景剖析 前言 责任链模式作为行为型设计模式的重要组成部分,在 Android 开发中有比较广泛的应用。无论是 Android 系统源码、第三方库,...
创建型设计模式汇总 1. 单例模式 1.1 单例模式的定义 一个类只允许创建一个对象或实例。 1.2 单例模式的作用 有些数据在系统中只应该保存一份,就比较适合设计为单例模式...
Android Jetpack 架构组件之 ViewModel 源码分析 1. 认识 ViewModel 1.1. ViewModel 是什么 引用官方介绍:ViewMode...
Android Jetpack 架构之 LiveData 源码分析 1. 认识 LiveData 1.1. LiveData 介绍 引用官方介绍:LiveData 是一个可观...