This is a list of awesome Android tutorials, videos and tools for performance optimization
Google Official Videos
- Double Layout Taxation Android Performance Patterns Season 3 ep8 - fix layout problems
- Infamous ViewHolder Pattern - ViewHolder pattern in ListView
- View Reduction - use Compound Drawables to increase performance
- Improving Comment Rendering on Android - Instagram's post on TextView Performance
- Custom ViewGroups - a Facebook Engineer's artcile on Custom ViewGroup to increase performance
- Why Use Crosswalk? - use crosswalk for better performance, especiallly for android version below4.4
- Enhance webView performance - disable the WebView cache to make WebView much faster.
- Supercharging the Android WebView - cache critical assets that drastically reduce the load time.
- crosswalk-cordova-android — An app runtime based on Chromium/Blink.
- Android 3.0 Hardware Acceleration
- Debug Overdraw - debug overdraw
- Android Performance Case Study - Debug Performance use
show GPU Overdraw
- Android Performance Case Study Follow-up - Use
OpenGL tracesand UUI problems caused by transparency
- Hardware Acceleration
- Optimizing Hardware Layers
- Graphics Performance - Podcasts on Android Performance
- Hardware Acceleration Animation - Using hardware layers to improve Android animation performance,
- Analyzing UI Performance with Systrace
- Optimizing Your UI - HierarchyViewer Usage
- Introduction to Systrace
- Loading Large Bitmaps Efficiently
- Bitmap quality, banding and dithering
- Android: bitmaps, textures and pre-multiplied pixels
- Testing Display Performance
Google official videos
- Memory Performance 101
- Android Performance Patterns: Tool - Memory Monitor - introducing Memory monitor and Memory heap tool
- Android Performance Patterns: Performance Cost of Memory Leaks - on memory leaks
- Garbage Collection in Android
- Memory Churn and Performance
- Avoiding Allocations in onDraw
- Investigating Your RAM Usage
- The truth about Preventative Optimizations - You can find some useful things from the links.
- A small leak will sink a great ship
- LeakCanary A memory leak detection library for Android and Java.
- Tips for Optimizing Android Application Memory Usage - Tips
- Android memory and performance optimization - Tutorial
- Building Memory-efficient Java Applications
- How to Leak a Context: Handlers & Inner Classes
- Improving Facebook's performance on Android with FlatBuffers
Tools for improving memory performnace
- YourKit - Performance and Memory Java Profile
- MAT - Memory Analysis tool for Java
- Allocation Tracker
- The Zen of IntentService. (Android Performance Patterns Season 5 ep7) - Talked about IntentServices, AsyncTasks, HandlerThread in the background thread.
- Optimizing Battery Life - Android's official tutorial for Battery Optimization
- Optimizing Network Request Frequencies (Android Performance Patterns Season 4 ep2) Android Developers - push instead pull data, sync policies and so on.
- Serialization performance (Android Performance Patterns Season 4 ep14) - use Protobuffers and FlatBuffer to improve seiralization performance
- Effective Network Batching (Android Performance Patterns Season 3 ep10)
- Better Compression = Faster Networking - Colt McAnlis' talk from SF Android
- Improving UX through performance - using okhttp, Fresco,or ToFu to improve network performance
Network Profiling Tools
- ARO - Use this free diagnostic tool to improve your app's battery life, data usage, and responsiveness
- Network Monitor in Android Studio
Article Videos Tools and others that cover multiple topics
- Performance Tuning On Android - Venmo's experience on UI performance optimization
- Best Practices for Performance - Android Official Training on Performance
- Developing for Android - Chet Haase's series,including Memory,Storage, UI Performance
- Detect and Resolve Performance Problems on Android - Use multiple ways to detect and fix Android Performance Problems
- Performance Tips - Android's Official Perf tips
- Facebook Engineering blogs tagged android - Including many articles on performance
- Developing for Android IXTools
- Performance Profiling Tools - Performance Tools
- StrictMode - Debug Util Class for etection for Storage, Memory and others.
- Probe - Android performance instrumentation tool, comparing application vital signs (CPU usage, memory utilization, number of threads, disk usage, etc.) across app versions, detecting performace regressions.
- BlockCanaryEx - make performance bottleneck detection easily when app blocked
- DroidTelescope - detect performance bolck
- Android Performance Patterns - Google's official Video about Android Performance
- Android Performance - Udacity's Video Series
- UI Performance - Optimizing and Profiling UI Performance