一,代码优化:浏览器
代码优化是任何优化技术的第一步,由于归根结底网页上的一切都是构建在代码之上的。优秀的代码能够节省宽带,减小渲染延迟,以及提升页面的可读性和长远的可维护性。下面列出了一些在Web应用中编写任何代码时都应该记住的最佳实践。缓存
1,使用遵循Web标准的代码。服务器
2,精简代码。框架
3,减小HTTP请求数。post
1)单个资源文件必须少于15KB(在未缩的状况上)。测试
针对iPhone设计的页面须要将各个资源文件的大小限制在15KB之内,以获得最优的缓存行为。iPhone最多能够缓存105个15KB如下的资源文件。在达到缓存数量上限之后,新缓存的文件会覆盖缓存中的旧的文件。优化
2)全局缓存资源必须少于1.5KB.spa
尽管iPhone可以缓存不少资源文件,但加起来最多只能缓存大概1.5MB.缓存可用字节数的上限大约为105*15=1575KB.设计
3)设备关机会后清空HTTP缓存。blog
若是用户须要强制重启设备,缓存中的资源就会丢失。这是因为在iPhone上,Safari从系统内存中分配空间来建立缓存文件,但并无把缓存组件写入持久性的存储设备中。
4)关闭标签页也会清空HTTP缓存。
关闭掉全部标签,只留下空白标签后再关掉Safari也会清空缓存。
从开发的视角来看,这种类型的缓存是不可靠的。由于它清空的频率过高,也难以缓存一个现代网页的大部分资源。即使是压缩到极致的JavaScript框架或CSS文件都很难将大小控制在15k之内,更不用说几乎全部的Web应用用到的图片都会超过这个大小。万幸的是咱们还有更好的选择来实现目标,即HTML5提供的离线功能。
4,合并CSS和JavaScript文件。
5,减小DOM操做。
二,图片优化。
1,优化色彩深度。
2,使用CSS精灵图。
3,千万不要缩放图片。
始终根据设备视口或是设计元素的宽高来以合适的尺寸使用图片。别期望Safari能自动把一个图片缩放到合适的大小。惟一能够例外的是,当咱们在指定设备的Web应用中插入图片时,能够经过设置值为100%的宽度来同时自适应于横屏或是竖屏视图。
这一法则一样也能够缩短网页的加载时间及页面中每次运行JavaScript时给用户体验形成的延时,遵照这一法则很是重要,同时也别忘了给图片设定宽度和高度,这样也助于减小渲染所用的时间。这一法则一样缩短了网页的加载时间以及页面中每次运行JavaScript时给用户体验形成的延时。
三,应用压缩。
Safari支持GZIP压缩,因此将Web应用的一些资源进行压缩会是个不错的想法,这样能够提高用户体验的层次。咱们能够决定何时 压缩HTML5页面,CSS3样式表或是JavaScript代码,然而却并无必要去压缩图片或者是PDF文档,由于这些类型的资源是已经压缩过的。对图片或者PDF文档进行压缩是白白浪费CPU资源,甚至有可能反而增大文件体积。
对于服务器来讲,为了使用Web应用能使用GIP压缩过的资源,服务器必须配置为在请求时自动提供压缩过的资源。另一方面,客户端必须支持这种压缩类型的文件。
GIP压缩并不骨文件格式的限制,所以这是给网页大幅”瘦身“的最简易的方式。GZIP压缩能够将文件减小大概70%。
虽然好处很明显,但世界上没有十全十美,通常而言GZIP压缩也有一些不足以外。
1,咱们须要个个支持GZIP压缩的浏览器。固然,针对咱们的状况这并非一个问题,由于Safari和其余基于WebKit的浏览器都支持GZip.
2, 咱们没法压缩力片和PDF文档,由于它们自己就是一种压缩格式。
3,因为Safari须要实时地解压缩资源,某些状况下这一过程会增长CUP时钟周期和开销,以至抵消了可能带来的好处。因此,最好先测试一下,以确保不会被这些额外开销形成弊大于利的状况。
四,可用性优化。
1,可用性检查。
2,可用性测试。
参考资料:《iOS Web应用开发》