📘 Bitmap内存管理 全流程精讲

🎯 30章 · 从入门到精通
1
Bitmap初印象 像素·色深
什么是Bitmap、像素与色深、Bitmap在内存中的样子
2
内存计算基础 公式·密度
Bitmap内存占用公式、宽高与像素密度、不同格式对比
3
BitmapFactory详解 Options·采样
BitmapFactory.Options、inSampleSize、inJustDecodeBounds
4
内存复用技术 inBitmap
inBitmap复用、Options.inBitmap、复用池管理
5
像素格式选择 ARGB_8888
ARGB_8888 vs RGB_565、Alpha通道影响、项目策略
6
图片压缩策略 质量·尺寸
质量压缩、尺寸压缩、哈夫曼压缩、WebP格式
7
三级缓存架构 LruCache
内存缓存、磁盘缓存、网络加载、LruCache与DiskLruCache
8
Glide源码分析(上) with·load
Glide的with与load流程、RequestManager与RequestBuilder
9
Glide源码分析(下) Engine·DecodeJob
Engine缓存查找、DecodeJob编解码、Transformation
10
Fresco核心原理 DraweeView
DraweeView、PipelineDraweeController、ImagePipeline
11
Fresco内存管理 Ashmem
Ashmem匿名共享内存、Native内存与Java堆、释放策略
12
Picasso与Coil 轻量级
Picasso缓存策略、Coil协程实现、轻量级方案对比
13
大图加载方案 RegionDecoder
BitmapRegionDecoder局部加载、SubsamplingScaleImageView、Tile
14
图片缩放与旋转 Matrix·Exif
Matrix变换、ExifInterface旋转、inScaled与inDensity
15
内存泄漏排查 LeakCanary
LeakCanary检测、Bitmap引用链、Activity泄漏场景
16
Native内存监控 mallinfo
Debug.getNativeHeapSize、libc.mallinfo、Matrix ResourceCanary
17
OOM实战案例 复盘
图片列表OOM、长图OOM、H5页面OOM、解决方案复盘
18
WebP与矢量图 SVG
WebP编码参数、矢量图与位图选择、SVG与VectorDrawable
19
图片压缩算法 libjpeg-turbo
libjpeg-turbo、libpng、MozJPEG、Guetzli
20
硬件加速与GPU 纹理上传
硬件加速原理、GPU纹理上传、Bitmap硬件缓冲区
21
多线程解码 线程安全
BitmapFactory.decodeStream线程安全、线程池配置、并发控制
22
图片缓存策略 LRU·LFU
缓存淘汰算法(LRU/LFU/ARC)、缓存大小计算、命中率
23
图片网络加载 OkHttp
OkHttp缓存拦截器、请求优先级、断点续传
24
图片安全与隐私 Exif
图片元数据(Exif)、地理位置清除、安全加载
25
图片编辑与处理 Canvas·RenderScript
Canvas绘制、RenderScript、GPUImage、自定义滤镜
26
图片格式转换 Bitmap·Drawable
Bitmap与Drawable互转、Bitmap与byte[]互转、YUV与RGB
27
图片序列化 Parcelable
Bitmap的Parcelable、Bundle传递、Intent传递限制
28
图片测试与优化 Systrace
内存快照分析、Allocation Tracker、Systrace、Perfetto
29
图片监控平台 Matrix-IOCanary
Matrix-IOCanary、BlockCanary、自定义监控上报
30
未来趋势与总结 HEIF·AVIF
HEIF格式、AVIF格式、机器学习降噪、课程总结与展望