Guys,
today, I've made some serious comparative tests to find out whether the claim of several MR forum members are true.
Many have stated the latest beta, beta 2 of iOS 7.1, have fixed the memory / Safari crashing problems. An example of these claims is at
https://forums.macrumors.com/posts/18510004/ : there, forum member MikhailT stated "
There are still some sites that crashes Safari but the good news is that the apps using WebView are no longer randomly crashing as they were before in iOS 7.0.x." Exactly this is what I'm going to scrutinize here (after all, my tester app does use UIWebView) - and prove it's, unfortunately, not exactly right.
Well, guys, I have some bad news: there don't seem to be
any kind of a crash improvement. To properly test this, I've further extended my simple tester Web browser. (Sources:
https://dl.dropboxusercontent.com/u/81986513/122013/14UIwebView/WebPageMemoryTester3.zip ) Basically, the new version divides the screen into two and loads the same nin.com to both (upper and lower) halves. It loads the upper one first and starts loading the lower one only after waiting 30 seconds.
This results in double the memory usage compared to the previous version(s). The previous version, as you may recall, only loads one Web page, which means it won't crash if you load, say, nin.com page on an iPhone 5, 5c or 5s with 1 Gbytes of RAM, particularly if you do this after a reset, without no other apps (daemons) running in the background. (The same doesn't apply to 1 GB RAM-equipped Retina iPads, which, generally, immediately crash already during loading the page.)
This fact allows for stability / crash testing on these 1 GB iPhone models. With nin.com and 650...720 Mbytes of free (initial) RAM, as is the case on the iPhone 5 running both iOS 7.0.4 and iOS 7.1 beta 2, both panes will be fully loaded and it's "only" during scrolling around the two panes that the app will fully crash. And it will crash – always. Yes, even under iOS 7.1 beta 2.
This means crash protection because of running out of memory during scrolling is
in no way implemented in iOS 7.1 beta 2 either. iOS 7.1 is as fragile as it was before, unfortunately.
(Some runtime memory figures on the iPhone 5:
https://dl.dropboxusercontent.com/u/81986513/122013/14UIwebView/704ip4.txt ; first with 7.0.4 and, then, with iOS 7.1 beta 2. Both were clean installs, without restoring any kind of backups. No iCloud was configured; absolutely no background apps run. See my previous comment at
https://forums.macrumors.com/posts/18504947/ on the format of the list.)