img加載卡頓,解決辦法


我覺得我在這個項目里遇到了太多的第一次。比如上一篇博文:在在360、UC等瀏覽器,img不加載原因

當前情況是:圖片加載緩慢,圖片加載時出現卡頓。

上圖:我縮放了圖片,估計有點變形。能說明情況就行,粗糙點就粗糙點吧。

1.單張圖片加載情況:

加載完:

2.banner圖加載情況

情況說明

banner有3張圖,加載的時候就分了三層。發現這個情況的時候,我表示自己很萌萌噠。

尋找原因及解決辦法

1.圖片css樣式和輪播圖js影響了圖片的加載

初始情況下,我猜測是我的css樣式沒有寫好,可能js輪播也有問題。但是我在本地服務器上訪問的時候,一切很正常。於是我排除了寫的js的問題。着重於檢查css。

我使用圖片本身屬性‘width’、‘height’來寫圖片的寬高,並將規定圖片寬高的css樣式注釋掉。清除瀏覽器緩存並刷新網頁,圖片加載卡頓的現象並沒有改善。

目前,暫時排除掉這個原因。

原諒此時的我大寫的懵逼臉

 

2.前端頁面卡頓?或者DOM操作惹的禍,需優化代碼。

這是我百度到的一篇文章。文章地址:http://developer.51cto.com/art/201504/473422.htm

由於有些圖片比較大,我用js控制圖片根據框的大小等比例縮放顯示在框內。當然這個功能與banner無關,但是我還是擔心是我js的影響。

於是我注釋了這個js並清除掉瀏覽器緩存后,刷新頁面,加載還是一樣的慢,可見不是我這個js的鍋。

 

3.圖片過大,導致加載時間過長,以致出現圖片加載出現卡頓的現象。

以上兩個方法都沒有找到問題的原因所在。我仔細看了頁面圖片的加載情況,請求數量不算多,但是每張圖片請求成功加載出來花費的時間很長,有的甚至需要2、3s多。

我再去查看了淘寶、京東的圖片加載情況,很快,都是毫秒,就沒有上秒的。

我將淘寶的圖片從banner到商品圖,各下載幾張,發現圖片大小最大的也就只有幾百K。

再看看我方官網上的圖片,都是幾M的,甚至有幾十M的。

據此,我猜測是因為圖片過大,導致加載時間過長,以致出現圖片加載出現卡頓的現象。

由於圖片已經上傳到服務器,幾千張圖片,不可能讓櫃台工作人員重新上傳。所以我從服務器上將圖片下載到本地,進行手動壓縮=-=

將幾M甚至幾十M的圖片壓縮到幾百K后,我表示人生已經圓滿了。將圖片重新更新到服務器的時候,我想這下應該解決問題了吧!!

但也只是我想想,問題並沒有被解決,頁面在加載時,圖片仍然卡頓!!

迎面一盆冰水澆過來的感覺,我已經不造說什么好。

 

4.采用圖片預加載或圖片分屏加載

采用以上兩種方式,頁面加載圖片仍卡頓!!!

以上兩種方式會單獨說怎么操作。

 

5.本地緩存

仍然無用

 

6.UI保存圖片方式錯誤。應該采用漸進式的JPEG

我和后端童鞋一起,從各自的方向掙扎了n天,嘗試了n種方法,都沒能解決這種情況。

於是各自求助經驗比較豐富的人。

有個大神告訴我們,可能是UI保存圖片的問題。大神從官網下載一張圖片,處理過后發給我們,放上去后,問題完美解決!!撒花~~~

UI在保存圖片的時候,要保存成漸進式的JPEG。

 

標准型jpg圖片顯示效果:

 

漸進式jpg顯示效果:

以上兩圖來自文章:PhotoShop制作漸進式JPEG的方法。 鏈接:http://www.jb51.net/photoshop/182198.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM