协程原理
Kotlin协程的本质是通过状态机管理挂起点,由编译器进行CPS变换实现的轻量级并发抽象。其核心原理和状态推进机制如下:
核心原理
1. 挂起函数
- 用suspend修饰的函数
- 编译器会将其编译为状态 …
gradle相关知识
一、插件(Plugins) vs 库(Libraries)
特征 | 插件 (Plugins) | 库 (Libraries) … |
---|
Android打包apk流程
android应用的打包流程是将代码、资源文件、清单文件等编译和压缩成可在设备上安装的APK/AAB文件的过程。以下是详细步骤:
一、主要流程
1. 编写代码与资源管理
- 创建
/src
目录存 …
Choreographer类解析
一、核心作用
Choreographer是Android系统协调动画、输入和绘制操作的核心调度器。它通过VSYNC信号确保帧的渲染与屏幕刷新率同步,避免画面撕裂和卡顿。
二、关键概念
- VSYNC:垂 …
包体积优化
包体积优化
一、APK结构分析工具
- Android Studio内置工具
- 使用 Build > Analyze APK
- 查看各模块占比(代码/资源/原生库/Assets) …
内存管理最佳实践
一、内存管理原则
- 理解Android内存模型
- 基于JVM垃圾回收机制,采用分代回收策略
- 内存不足是触发
onTrimMemory()
,开发者需响应此回调释放资源
- 避免内存泄漏根源
- 静态引用:禁 …
View性能优化
Android View 性能优化体系
一、规避过度绘制(GPU优化)
专注于减少GPU的无效像素填充负载
- 概念解析:
GPU在单个像素点重复绘制超过2.5次(1x绘制+1.5x半透明混合)的现 …
关于硬件加速
一、硬件加速核心概念
硬件加速是将图形渲染中的光栅化从CPU转移到GPU执行的技术。CPU只需要生成绘制指令集(DisplayList),由GPU进行高效的并行光栅化计算,最终写入图形缓冲区提供屏幕显 …
面试问题收集
一、Bitmap内存优化
Bitmap是内存消耗大户,通过以下方法减少占用:
- 降低色彩解析模式
使用RGB565等低色彩模式,将单个像素的字节大小从32位(ARGB8888)减少到16位,显著节省内 …
RecyclerView缓存机制
RecyclerView缓存机制
多级缓存体系架构图
TEXT
RecyclerView 缓存系统
├── 1. 屏幕内缓存 (Attached Scrap)
│ └── 存放当前可见 …