Measuring performance.
WHAT INSTRUMENTS PROVIDES
Profiling of processor time, memory, disk, network, energy and graphics.
WHAT THE COMMON INSTRUMENTS ARE
Time profiling, showing where processor time is spent Allocations, showing memory use over time Leaks, detecting unreleased memory Energy, estimating battery impact Animation and rendering analysis
WHAT TO ALWAYS PROFILE IN
A release build, on a physical device.
WHY
Debug builds are substantially slower, and simulators do not reflect device performance.
WHAT TO MEASURE FIRST
Launch time Responsiveness during interaction Memory growth over a session
WHAT MEMORY GROWTH INDICATES
Objects retained that should not be.
HOW TO FIND THEM
Repeat an action, and observe whether memory returns to its previous level.
WHAT TO LOOK FOR IN TIME PROFILING
The heaviest stack traces, rather than individual functions.
WHAT TO BE CAREFUL WITH
Optimising before measuring Measuring on a fast device only
WHAT TO TEST ON
The oldest device you support.
WHAT TO RECORD
A baseline, so regressions are detectable.