Making applications responsive.
WHAT TO MEASURE FIRST
Startup time Frame rendering Memory use Battery consumption Application size
WHAT TOOLS PROVIDE
Profiling of processor, memory, network and energy Frame rendering analysis Layout inspection
WHAT CAUSES DROPPED FRAMES
Work on the main thread Deep layout hierarchies measured repeatedly Large images decoded during scrolling Allocation during animation
WHAT TO DO ABOUT SCROLLING PERFORMANCE
Use recycling list components Load and size images appropriately Avoid work in the item binding path
WHAT CAUSES SLOW STARTUP
Initialisation performed eagerly Libraries initialising themselves at startup Large dependency graphs
WHAT TO DO
Defer what is not needed immediately.
WHAT TO DO ABOUT APPLICATION SIZE
Enable code shrinking and resource shrinking Use vector artwork Remove unused dependencies and resources Ship in the format that delivers only what each device needs
WHY SIZE MATTERS HERE
Download size determines whether people install at all.