It seems to be really hard to improve the performance of a UIWebView, especially for websites like Mashable or Ars Technica, where tons of scripts are loaded and long, multi-pag
I'm afraid there isn't. Big websites remain big and hence consume lots of memory.
I'd argue against Brad Larson: backing a webview in a own CATiledLayer is technically possible (just do [webView.layer renderInContext: ]
) but does not make a lot of sense. Tiled layers load lazily, as do web views. You'd need a enormous amount of finetuned code to detect when the page finished loading, then to cache things into your tiled layer and so on.
Despite that, the webview is actually quite optimized. I'd even argue that it's one of the best-optimized things in the whole iOS. It's the single-most-used performance critical component across the whole platform. Every multi-line text is a webview (UITextView is implemented using them, e.g). If the webview breaks on some website, you'll have quite a hard time making it faster.
There are cases where a different solution might work as well, but only if you're looking for something special purpose. If you're not, then leave your hands off and invest the time somewhere else. Just my 2 cent...