图片加载速度问题(转)

制作的HTML5滑屏页面速度很慢,找了一些文章,希望解决问题。

一、

1、控制jpg图片的质量  

由于质量高的jpg格式图片比较清晰,色彩更鲜艳,不少人就用这种图片来美化header,其实这对速度的影响是很大的,因为打开一个页面首先加载的就是header,header加载时间太长的话,很容易使第一次来的访客反感,还有一种情况是页面上的小图标,有些站长过于追求美观,于是页面上的小图标也用高质量的图片来做,这是很没必要的。

2、尽量使用gif格式  

jpg格式在在展示色彩丰富的大图片是效果很好,但做网页图标的话,gif才是最好的格式。因为在展示像素级的细节是,gif的效果比jpg好了不知多少倍,你可以尝试一下,截取一幅含有12px或14px文字的图,分别保存为256色的gif和质量为80的jpg,对比一下文字的显示效果,gif肯定比jpg清晰很多,而体积却小了不少。所以,在制作小图标或带有小字体的图片时,优先使用gif格式,这里还有说到一个颜色数的问题,gif格式能显示的颜色数量最多为256色,其实对不包含大量色彩渐变的图片来说,已经是非常足够了,因此,在制作颜色比较少的gif时,尝试一下降低颜色数,只要效果能过得去就行了。

3、如何插入装饰性图片  

这里要讲的不是简单的用img标签插入图像,用这种方法插入页面小图标等装饰性图片弊端是非常大的。首先,用img标签插入的图片不能通过简单的方法实现变换效果,在这里,美化效果要打个折扣,其次,用img插入的图片,如果图片不在浏览器缓存里,而且不重复出现的话,会大大增加http请求数。因为img标签理论上是出现一次载入一次的。其三,用img标签不利于调整图片位置,如果一个图片,需要在header靠右和footer靠左这两个位置出现两次,你就需要为它写两次css。其四,用img标签插入图片不利于整合,整合图片可以大大减少http请求数,到底整合图片有什么技巧呢?看下节。

4、页面背景图片的处理方法  

很多人喜欢用图片做页面元素的hover变换效果,但是却没有把相关的图片整合,导致一些变换效果有事会因为图片载入失败而失色。我们可以把针对某个效果的图片都整合成一个文件,在css里用background-position属性调整图片位置。这种做法的好处是背景只需要一次http请求,图片可以重复调用,也有利于图片变换。看到这里,你知道装饰性图片应该怎么插入了吗?对,用css。

5、插图尽量使用外链  

由于服务器性能的限制,一般非独立主机都会限制单ip的http请求数,如果一个页面里http请求太多的话,页面往往要等很久才能完全载入。特别是图片,如果太长时间不能加载的话,浏览器就会断开与服务器的链接,这是就需要在点击一下显示图片才能显示出来,比较好的支持外链的相册有picasa、flickr和国内的yupoo等。这样做不但能减轻服务器压力,节约流量,更重要的是,我不相信大部分站长用的服务器比那些专业的在线相册快。

二、

链接:http://www.zhihu.com/question/29764566/answer/45527133
来源:知乎

一是内存限制。每个app的可利用内存是有限制的,而图像是比较消耗资源的,所以只能分次加载,每次加载固定数量的图片,加载新图片时把不用的图片释放掉。这样可以节省内存。
二是异步加载。页面先显示,图片则下载完成(或命中)后才显示。(其中会有一些缓存策略,不表)
三是分页请求。即按需请求,一次只请求当前页面中需要出现的图片,当页面发生滚动或者切换时,再请求剩余图片。

链接:http://www.zhihu.com/question/19762217/answer/18047143
来源:知乎

缓存 (cache.manifest; 亦可考虑使用localStorage 或是 indexedDB 等)
- 异步加载
- 用data:image/gif;base64直接嵌入到css文件里来减少http请求
- 按照屏幕尺寸按需加载响应的图片尺寸 (可用 css media query之类)
- 压缩图片质量,通过添加一层纹理蒙版来使之不那么刺目
- 换更快的服务器或是CDN

三、25种提高网页加载速度的方法和技巧(转)

延迟加载、分配加载

时间: 2024-10-09 22:37:47

图片加载速度问题(转)的相关文章

主流图片加载框架ImageLoader、Glide、Picasso、Fresco性能分析---图片加载速度比较

图片加载这种实现繁琐,可复用性又极强的东西,自然是选择使用图片加载框架来快速实现. 像是Android-Universal-Image-Loader.Glide.Picasso.Fresco之类, 但是这时候的烦恼在于,这么多图片加载框架到底谁最实用? 有说Fresco,因为支持WebP,还是用了NDK来加载图片,减少JavaHeap的使用 有Picasso,简洁高效 有说Glide,Picasso升级,可以加载Gif,在Picasso基础上扩展了很多方法 ImageLoader 使用最广,因为

iOS图片加载速度极限优化—FastImageCache解析

本文转载至 http://blog.cnbang.net/tech/2578/ FastImageCache是Path团队开发的一个开源库,用于提升图片的加载和渲染速度,让基于图片的列表滑动起来更顺畅,来看看它是怎么做的. 优化点 iOS从磁盘加载一张图片,使用UIImageVIew显示在屏幕上,需要经过以下步骤: 从磁盘拷贝数据到内核缓冲区 从内核缓冲区复制数据到用户空间 生成UIImageView,把图像数据赋值给UIImageView 如果图像数据为未解码的PNG/JPG,解码为位图数据

在windows、linux中开启nginx的Gzip压缩大大提高页面、图片加载速度

为了降低tomcat服务的压力,把页面上的图片采用windows版的nginx进行加载,由于有些图片比较大,加载特别的慢,所以在nginx中打开了gzip的压缩功能.加载图片的速度快了很多. 通过站长工具中的"网页GZIP压缩检测"工具检测图片的压缩率达到了69.53%,如下图: 下面介绍nginx.conf文件是怎么配置的: 1.打开nginx.conf配置文件: 2.找到#gzip on这句,如下图: 3.在把#gzip on 改成下面代码: #开启Gzip gzip on; #不

iOS开发>学无止境 - 异步图片加载优化与常用开源库分析

作者:罗轩(@luoyibu) 网址:http://www.jianshu.com/p/3b2c95e1404f 1. 网络图片显示大体步骤:   下载图片 图片处理(裁剪,边框等) 写入磁盘 从磁盘读取数据到内核缓冲区 从内核缓冲区复制到用户空间(内存级别拷贝) 解压缩为位图(耗cpu较高) 如果位图数据不是字节对齐的,CoreAnimation会copy一份位图数据并进行字节对齐 CoreAnimation渲染解压缩过的位图 以上4,5,6,7,8步是在UIImageView的setImag

imagepool前端图片加载管理器(JavaScript图片连接池)

前言 imagepool是一款管理图片加载的JS工具,通过imagepool可以控制图片并发加载个数. 对于图片加载,最原始的方式就是直接写个img标签,比如:<img src="图片url" />. 经过不断优化,出现了图片延迟加载方案,这回图片的URL不直接写在src属性中,而是写在某个属性中,比如:<img src="" data-src="图片url" />.这样浏览器就不会自动加载图片,等到一个恰当的时机需要加载

iOS 异步图片加载优化与常用开源库分析

1. 网络图片显示大体步骤: 下载图片 图片处理(裁剪,边框等) 写入磁盘 从磁盘读取数据到内核缓冲区 从内核缓冲区复制到用户空间(内存级别拷贝) 解压缩为位图(耗cpu较高) 如果位图数据不是字节对齐的,CoreAnimation会copy一份位图数据并进行字节对齐 CoreAnimation渲染解压缩过的位图 以上4,5,6,7,8步是在UIImageView的setImage时进行的,所以默认在主线程进行(iOS UI操作必须在主线程执行). 2. 一些优化思路: 异步下载图片 image

关于页面的加载速度

关于页面的加载速度 ??12月初的时候,刚刚换完项目组的我终于迎来了自己独立完成的第一个项目:旅游产品活动页面.这是目前我接手的独立完成的最大的一个项目. 整个项目周期大约为两个礼拜,内容包括: 根据活动时间判断一键领取多个优惠券; 九宫格式抽奖及轮播中奖信息; 根据时间轴返回每天的秒杀数据; 遍历不同的产品列表等... ??其实整个项目看起来真的没有什么,而且有些功能自己之前也是写过的,但是真正自己做的时候却漏洞百出,今天先不说那些小错误小漏洞,说一下自己千辛万苦写完的页面遇到的最大的问题:加

浅析用Base64编码的图片优化网页加载速度

想必大家都知道网页加载的过程,从开始请求,到加载页面,开始解析和显示网页,遇到图片就再次向服务器发送请求,加载图片.如果图片很多的话,就会产生大量的http请求,从而影响页面的加载速度.所以现在有一种做法是将多张图片合并到一起,这样在打开页面的时候只需要一次http请求就可以加载多张图片,然后通过设置图片的背景偏移量来正确的显示.现在我们可以将图片转成base64编码,然后直接写在html页面或者css里面,这样在加载页面或者css的时候就可以直接将图片加载过去,这样也省去了设置图片背景偏移量带

jquery实现图片预加载提高页面加载速度

使用jquery实现图片预加载提高页面加载速度和用户体 我们在做网站的时候经常会遇到这样的问题:一个页面有大量的图片导致页面加载速度缓慢,经常会出现一个白页用户体验很不好.那么如何解决这个问题 呢?首先我们会想到的是提高服务器性能,使用静态缓存等手段来加快图片的加载速度,这的确是个好方法,不过有时候我们也可以从前台找一些解决的 方法.下面我来介绍一种在实际应用中经常会使用到的js预加载的方法. 首先在输出图片的时候我们做一些处理 处理完html我们开始写js了,在这里我使用了jquery的类库