Comparing snapshots is a useful technique that gives a direct answer on a question "What objects cause a memory leak in my app?" The idea behind comparing snapshots is quite simple: you take two snapshots, one of which is used as a base for comparison (it is always the one that was taken earlier).
The Comparison view provides details on how many objects were created between snapshots and how many objects were collected. If a class should not have new instances but it does, than it is, probably, the cause of the leak.
To compare two snapshots:
Run the profiling session
and collect at least two snapshots.
After the profiling session is finished, dotMemory will open the
Analysis Overview page.
- Drag and drop two snapshots you want to compare to the Comparison area or click Add to comparison for each snapshot (the Ctrl+Alt+C shortcut also works here).
- Click Compare in the comparison area.
- After this, dotMemory will open the Comparison view for the snapshots.
- Using the Comparison view, analyze the comparison data.