Last modified: 2014-06-05 02:30:52 UTC
If I keep following links in pages, and go about 5 or 6 pages deep, the WebView stops rendering the page properly (random blank rectangles, or a completely blank page). If I go "back" in the stack of pages, they start rendering properly again.
So the problem is that we don't kill PageViewFragments when they aren't shown on screen - we add fragments than replace them. The reason being that I'm unclear about the lifecycle of fragments when they are in the activity's backstack but not visible. Also problematic is maintaining scroll position in the backstack. This ends up creating a lot of webviews! Terrible for our memory footprint and yes, this problem would happen. We need to figure out the lifecycle for those and handle 'back' properly.
I can't replicate this on my Nexus 7. I've clicked on about 30 links and everything's still working.
(In reply to Dan Garry from comment #2) > I can't replicate this on my Nexus 7. I've clicked on about 30 links and > everything's still working. Er, I may have to take that back. Just as I submitted this comment, I clicked on another link and the screen went totally black.
I have the following devices, all of which exhibit this behavior after 6 pages: Samsung Galaxy Note 2 Galaxy S3 Galaxy S4 Moto Droid
On my Nexus 7 it took around 35 pages for this to happen.
Change 131130 had a related patch set uploaded by Dbrant: Hiding page fragment when obscured by a new page. https://gerrit.wikimedia.org/r/131130
Change 131130 merged by jenkins-bot: Hiding page fragment when obscured by a new page. https://gerrit.wikimedia.org/r/131130
Should be fixed now.