协程原理

Kotlin协程的本质是通过状态机管理挂起点,由编译器进行CPS变换实现的轻量级并发抽象。其核心原理和状态推进机制如下:

核心原理

1. 挂起函数
  • 用suspend修饰的函数
  • 编译器会将其编译为状态 …

gradle相关知识

一、插件(Plugins) vs 库(Libraries)

特征 插件 (Plugins) 库 (Libraries) …

Android打包apk流程

android应用的打包流程是将代码、资源文件、清单文件等编译和压缩成可在设备上安装的APK/AAB文件的过程。以下是详细步骤:

一、主要流程

1. 编写代码与资源管理
  • 创建/src目录存 …

Choreographer类解析

一、核心作用

Choreographer是Android系统协调动画、输入和绘制操作的核心调度器。它通过VSYNC信号确保帧的渲染与屏幕刷新率同步,避免画面撕裂和卡顿。

二、关键概念

  • VSYNC:垂 …

包体积优化

包体积优化

一、APK结构分析工具

  1. Android Studio内置工具
    • 使用 Build > Analyze APK
    • 查看各模块占比(代码/资源/原生库/Assets) …

内存管理最佳实践

一、内存管理原则

  1. 理解Android内存模型
    • 基于JVM垃圾回收机制,采用分代回收策略
    • 内存不足是触发onTrimMemory(),开发者需响应此回调释放资源
  2. 避免内存泄漏根源
    • 静态引用:禁 …

View性能优化

Android View 性能优化体系


一、规避过度绘制(GPU优化)

专注于减少GPU的无效像素填充负载

  • 概念解析:
    GPU在单个像素点重复绘制超过2.5次(1x绘制+1.5x半透明混合)的现 …

关于硬件加速

一、硬件加速核心概念

硬件加速是将图形渲染中的光栅化从CPU转移到GPU执行的技术。CPU只需要生成绘制指令集(DisplayList),由GPU进行高效的并行光栅化计算,最终写入图形缓冲区提供屏幕显 …

面试问题收集

一、Bitmap内存优化

Bitmap是内存消耗大户,通过以下方法减少占用:

  1. 降低色彩解析模式
    使用RGB565等低色彩模式,将单个像素的字节大小从32位(ARGB8888)减少到16位,显著节省内 …

RecyclerView缓存机制

RecyclerView缓存机制

多级缓存体系架构图

TEXT

RecyclerView 缓存系统
├── 1. 屏幕内缓存 (Attached Scrap)
│   └── 存放当前可见 …