优化手段1:合并请求
**主要目的:**是减少浏览器对服务器发起的请求数,从而减少在发起请求过程中花费的时间
**手段:**合并JS、合并CSS以及合并小图片(也就是使用CSS精灵)等方式来减少请求
优化手段2:域名拆分
**主要目的:**是为了增加浏览器下载的并行度,让浏览器能同时发起更多的请求
**注意:**域名拆分为3到5个比较合适,过多的域名会带来DNS解析时间的损耗,可能会降低性能
优化手段3:开启Gzip
**主要目的:**Gzip是一种压缩技术,可以将资源在服务端进行压缩,然后发送给浏览器后再进行解压,这种方式会降低传输大小,提高网页加载性能
适用:对于以文本为主的页面,Gzip的优化收益应该是很大的,JS/CSS/HTML类型的资源开启了Gzip
优化手段4:开启KeepAlive
**主要目的:**开启KeepAlive能够减少浏览器与服务器建立连接的次数,从而节省建立连接时间
**注意:**开启KeepAlive可以较好的提高性能,但是开启KeepAlive也会使服务器负载变大,也更加容易遭受攻击,实际项目中需要权衡利弊
优化手段5:Minify
Minify指的是将JS和CSS等文本文件进行最小化处理,一般对于CSS来说就是去除空格去除换行去除注释等,对于JS,除了上述方法外,还可以进行变量名替换,将长变量名替换为短变量名。目前有很多用户做Minify的工具,例如uglifyjs
Minify除了可以提高页面加载速度之外,还有另外一个收益,那就是可以降低网站的带宽费用,因为Minify是实实在在减小网页大小的
其他:
卡顿分析工具TraceView、SysTrace,布局优化工具Hierarchy Viewer,过度绘制工具开发者模式下的OverDraw,内存分析工具Memory Monitor、Heap Viewer,内存跟踪工具Allocation Tracker,内存泄漏分析工具MAT,ANR 分析工具Analyze Stacktrace,耗电分析工具Battery Historian,其他还提供了非常强大的能力如DropBox、StrictMode等等。各式各样的专项工具都在全方位的帮助开发者快速的发现和定位,从而打造一款良好体验的APP
学习地址:https://www.zhihu.com/question/40505685