Android Graphics: the Path to [UI] Riches
summary
Overview of concrete changes and demos: history from Skia (2005) explains why canvas and Paint are stateful and awkward—Paint accumulates 27 constants and tangled text APIs—allocations drove mutable APIs. Canvas moves to GPU (2011); Android adds hardware bitmaps, blend modes (Android 11), RenderEffect blurs (12) and runtime shaders (13). Kotlin + Jetpack bring clearer APIs and backports (path iterator to API 21). New Graphics Shapes library (alpha) produces rounded polygons and constrained morphing that actually animates; demos and GitHub code run and illustrate outcomes.
AI-written summary · about
chapters (35)
- 0:00Android Graphics APIs intro
- 1:08Origins of Android’s Graphics APIs
- 2:14Immediate Mode vs Stateful Canvas
- 3:18Paint class overload issues
- 4:42Stateful Canvas and Paint side effects
- 6:04Bitmap Shader inconsistencies
- 7:07Legacy allocation constraints
- 9:58Primitive types and binary compat
- 10:39View drawing in Android 1.0
- 11:00Fake 3D in Skia
- 12:03Opaque objects missing info
- 13:28Undocumented APIs and Camera
- 14:12Poorly Documented Path Effects
- 14:55Color Matrix documentation
- 15:16Hidden Canvas features
- 16:45Path measurement and animation
- 17:07Boolean operations on paths
- 17:49Color filters explained
- 20:37Live demo: Color filters
- 22:01Gradients creative uses
- 23:03Evolution of Graphics APIs
- 23:44GPU acceleration and bitmaps
- 24:25Blend modes and Porter-Duff
- 25:29Blur effects in Android 12
- 25:50Runtime shaders for effects
- 27:33Modern Android graphics with Kotlin
- 28:16Kotlin for Graphics APIs
- 29:41Jetpack graphics extensions
- 31:46Canvas in Jetpack Compose
- 32:51Path Inspection API in U
- 33:56Graphics Shapes Library
- 37:45Shape morphing automation
- 39:52Future path features
- 40:55Stateless Canvas redesign
- 41:15Conclusion
related talks
16mAndroid Graphics
40mAndroid Graphics Performance
41mGraphics for Android Developers, Part Deux
40mThe Evolution of Android Graphics
36mThe Evolution of Android Graphics in Android 12/13
32mA Skeptics Guide to Programmatic Views on Android
01h 01mAn Android Retrospective
43mPixel with Superpowers: Modern Android UI with AGSL Shaders
