← Back to context

Comment by giancarlostoro

16 hours ago

I really dont understand that at all. Web Pages are mostly static, you would think the iPhone would cache websites reasonably well.

I remember on Android I dont recall the app name specifically, but it would let me download any website for offline browsing or something, would use it when I knew I might have no internet like a cruise.

Heck there used to be an iOS client for HN that was defunct after some time, but it would let you cache comments and articles for offline reading.

It's the js that does it, because so many webpages are terribly optimized to integrate aggressive ad waterfalls into them. Or have persistent SPA framework's doing continually scope checks.

That being said, there's no reason the Safari context shouldn't be able to suspend the JS and simply resume when the context is brought back to the foregrown. It's already sandboxed, just stop scheduling JS execution for that sandbox.

  • Sorr of related. On my laptop running linux, Firerox with youtube will get progressively slower if you keep sleeping and waking up the laptop. It is as though the JS is struggling to keep up with adjusting to the suspend and wake cycle. This never happened on Windows/macos systems so it could just be a linux thing.

Obviously it depends on what you're consuming, but popular sites are rarely static web pages.

Safari suspends backgrounded tabs. I think that's what we're observing here rather than strictly memory pressure.

Web pages that make sense are mostly static. But these days articles need to load each paragraph dynamically, so in order to save 3kb in case you wouldn't finish the article you need to download 5mb of js to do that, plus a bunch of extra handshakes.