Reputation: 14868
I am trying to use the Observatory tab in dartium dev tools, to find a memory leak in my framework. I have made a test program here which should be viewable in js or dart. My goal is to find out where references are holding on to Massive
objects, which are just wrappers around a List<double>
with a million double
s in it. If I click New Client
I get a new client view on the right, if I generate a bunch of Massive
objects and refresh the observatory tools I see that double
now takes up most of the app memory usage. If I then delete the Massive
objects and wait 5 seconds for the frameworks remote garbage collection to run, then refresh the observatory tab, the double
s still occupy the same amount of memory even though they should have been GC'd (I click the GC button on the observatoy tab to, I assume, force the GC to run.) If I keep creating and deleting Massive
objects in the app eventually the page crashes, typically after around 28 Massive
objects have been created. My problem is finding out how to use the tools to find out where the Massive
objects are still having references hold on to them. Is it possible to get find references to objects in the dev tools?
UPDATE:
I have fixed the memory leak in the test app I link too and describe above, therefore following the instructions above will not result in recreating the memory leak.
Upvotes: 3
Views: 1364
Reputation: 8128
I'm currently investigating a memory leak myself. What's missing in the observatory is a way the chain from the root to the leaking object. I'm not sure if there is already an issue open for it, though. Feel free to open a new one.
Upvotes: 3