When using the tab switcher, the native memory usage grows rapidly per frame of rendering on both browser process and GPU processes. This is caused by activities in tabgroup_layout_tab_info.cc. We create new Layers per frame, and they are not released properly.
We could:
1) Stop creating new Layers per frame, and only update their properties. This might be the more elegant way to do things.
2) Or we could patch what we have now so that the resource is released correctly. I suspect the parent/children relationship of layers counts toward reference, so the ref-counted objects are not released.
On the Java side, compared with upstream, when using the tab switcher, our GC is more frequent. I see more allocations about resource and ICU locale stuff, but this is not very serious because it's not really a leak.
Comment 1 by wychen@chromium.org
, Oct 22