我的老板抱怨低渲染性能。渲染同一页面时使用UIWebView和Safari的应用程序有什么区别? 任何帮助将不胜感激。UIWebview和移动Safari在渲染页面时有什么不同吗?
回答
UIWebView已弃用。
来自Apple Docs。
重要
中的iOS 8.0和OS X 10.10开始,使用WKWebView Web内容 添加到您的应用程序。不要使用UIWebView或WebView。
@import的WebKit 并使用WKWebView
WKWebView有很大的改善JS实施和使用。 它在性能上与Safari非常相似。
差异:WKWebView可用作应用程序控制器的视图。 Safari作为单独的应用程序运行。 SafariController在您的应用中的Safari应用程序中运行它自己的应用程序。
意思是说“SafariController在您的应用程序内的Safari自己的viewController中运行。” – Taun
但是WKWebView发出请求并将内容渲染为进程外,这意味着我的应用程序不会听到他们提出的请求。所以我不能使用WKWebview观察JS Loading如果我想在JS完成时做某事。还有其他的选择吗? – ChenXi
WKWebView已经评估了JavaScript:completionHandler:和WKScriptMessageHandler用于评估JS和从JS获取消息。它还具有WKUIDelegate,WKNavigationDelegate,用于观察加载进度并根据内容和3D触摸执行操作。您甚至可以使用WKUserScript将JS注入顶部或底部的页面。不知道你还能想要什么。因此,例如,您不仅可以通过WKUINavigation知道何时加载完成,还可以使用WKUserScript在末尾注入JS,并在执行时向脚本处理程序发送消息。 – Taun
是的,在移动Safari和UIWebView的
一些异同- UIWebView的支持HTML5的所有功能,如移动Safari
- 的UIWebView比Safari的某些功能更严格一点。例如:当通过JS设置宽度/高度样式时,需要在数字后面添加“px”,而Mobile Safari不需要这样做。
- 对于身份验证,UIWebView不会自动处理身份验证挑战,这取决于开发人员处理它们。
- UIWebView没有Nitro Javascript引擎,因此它比Mobile Safari执行的要慢,因此它的执行速度为 。
- UIWebView不会跟踪帧内页面转换的浏览历史记录,这可能是一个理想的功能。
希望这个答案可以帮助你
那么有没有可能在我的应用程序中的UIWebview运行相同的页面与Safari中的移动版本一样快? – ChenXi
您可以根据需要导入webkit并进行优化, –
- 1. 移动Safari和移动Chrome上的网页渲染不正确
- 2. 渲染@users和渲染'new'有什么不同?
- 3. Raphaeljs移动Safari Safari渲染问题
- 4. 铬渲染不同于Safari
- 5. 在渲染页面中渲染页面
- 6. 在所有页面上渲染动作
- 7. 在移动Safari中旋转时拖动SVG渲染
- 8. 在移动Safari上强制整页渲染?
- 9. 为什么Path和Polyline在WPF中有不同的渲染?
- 10. Atrix 4G和其他Android手机在OpenGl渲染方面有什么不同?
- 11. ASPX动态页面渲染
- 12. 页面渲染可以与JavaScript同时运行吗?
- 13. 在lwjgl渲染中移动渲染器
- 14. HttpPost没有渲染页面
- 15. visualforce移动页面和<select> HTML5元素渲染问题
- 16. 使UIWebview显示dektop不移动页面
- 17. 渲染器的a4j commandButton不起作用;页面没有渲染
- 18. JSP页面不渲染
- 19. Github的页面不渲染
- 20. Safari浏览器移动地理位置和地图渲染
- 21. css line-height在IE,Safari和Chrome中的渲染方式不同
- 22. 渲染到纹理和渲染的同时,以渲染
- 23. 页面渲染超时会发生什么?
- 24. 为什么Rails以30ms和60ms交替渲染页面?
- 25. 如何查看页面源代码与页面渲染不同?
- 26. 在页面加载时渲染布局
- 27. 渲染HTML页面
- 28. ASP.NET页面渲染
- 29. 在React的不同页面渲染相同的组件两次
- 30. 为什么DIV标记在IE8和Firefox中渲染不同?
是什么版本的操作系统?我记得在iOS7发布期间,苹果在webviewUI内将JS Engine性能降低了25%。后来他们增加了它,但不知道它现在的表现如何。有没有检查过一段时间 – Adapter
现在我使用的是iOS 10.2,这个问题很重要吗? – ChenXi