Exploring Java’s Hidden Costs
summary
Claims that Java 8 features add measurable overhead, demonstrated with javac/javap, DX/dexdump, ProGuard, Jack and RetroLambda; a dex method list tool finds thousands of synthetic accessors in real apks, one codegen change cuts 27 hundred methods from an app, and lambdas often cost 3–4 methods each (example app has 826 lambdas). Recommendations include upgrading RetroLambda, enabling ProGuard/minification, using SparseArray over HashMap for small maps, and running the supplied tooling to locate bloat.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 1:19How Many Methods
- 6:15Nested Classes
- 11:00Eliminating Methods
- 17:04Fixing Visibility
- 25:11Retro Lambda
- 25:47Retro Lambda vs Jack
- 28:31Additional Method References
- 30:36Lambdas
- 34:06Special Collections
- 35:20Data Indirection
- 39:40Sparse Array
- 41:26Memory Overhead
- 44:25Summary
- 48:36Other presentations
- 49:27Tools








