1

It seems there is a performance issue that Chrome on Android consistently exhibits with tabs that share two characteristics:

  1. They share the same origin.
  2. They make heavy use of Javascript to load content dynamically.

An example is having multiple tabs displaying different pages under reddit.com.

When Chrome visits a lot of these tabs, it appears that Chrome will not discard data loaded from most of the tabs as long as one tab from the same origin remains open. After going through a dozen tabs or so, this results in very high memory use, as well as old tabs still being loaded when they are switched back to.

Interestingly, an OEM tool on my device still shows Chrome in this case as using only a relatively low amount of memory, around 300MB. However, the same tool also shows available memory as extremely low, with no user applications other than Chrome using significant amounts, and ending the Chrome process or closing all the offending tabs in Chrome immediately produces a major improvement in UI responsiveness along with a very large increase in available memory. Perhaps it is some system-level web rendering process that is holding data from common origins in memory. But Chrome is clearly still choosing to retain those pages.

The expected behaviour, which is what happens when you have lots of JS-heavy tabs from different origins, or lots of tabs from the same origin that don't make heavy use of JS, is for Chrome to silently discard unused tabs from memory while still keeping them open and reloading them if they are displayed again.

This is quite frustrating as I believe I can see quite clearly what is happening, and the fix should be so easy, but there simply aren't any UI controls exposed for it, so it can still lock my phone up for tens of minutes at a time. Additionally, I've made a habit of doing most of my web browsing in Incognito Mode, so when Chrome freezes and then has to be closed, I can lose pages that I still wanted to read.

Is there a way that Chrome can be forced to discard open tabs? Not close, only discard, as I may still want to go back to them.

0

You must log in to answer this question.

Browse other questions tagged .