2014-03-14 79 views
5

我有一個非常簡單的問題,我想問問那些比我有更好的知識的人。我應該爲手機網站調整圖像大小

問題的基礎是。開發移動網站時。我應該動態調整從外部來源獲取的圖像的大小嗎?或者我應該把它們留作大圖像並用css處理?

我正在建設的移動網站從64位的web服務中提取大量圖片,現在我的思路就是這樣。我想保持我的網站的大小盡可能小,因此調整圖像尺寸似乎是一個好主意。

另一方面。使用JavaScript調整圖像大小(主要開發人員希望所有事情都只在客戶端完成......),可能會導致用戶移動設備的開銷。

您對此事有何看法。我應該調整圖像大小嗎?

預先感謝您的回答。

+3

_「我正在建設的移動網站從web服務中獲取大量圖片作爲基礎64」_ - outch。 Base64意味着已經超過「真實」二進制數據的大量開銷。 (所以至少使用GZIP儘可能地減小這個負面因素。) – CBroe

+0

不幸的是後端不是我的工作。另一個也可能起作用的想法是從網站中取代64位的網址。非常好的一點你添加在那裏! – KapteinMarshall

+0

_「用JavaScript調整圖像大小」_ - 不確定您的確切含義;通常情況下,您只需通過爲圖像設置_dimensions_(通過HTML屬性或CSS)來調整客戶端的圖像大小,而不是在JS中調整_implement_實際圖像大小調整算法。無論如何,調整成本計算能力也是一項重要的任務,而這可能是一個非頂級的移動設備上相當稀缺的資源,並且無論如何都會反映電池的功耗。 – CBroe

回答

4

請始終注意移動用戶的連接。移動連接上的延遲通常要高得多(因此儘量限制請求的總數量,而不考慮大小),傳輸速率較慢,並且超額費用往往很昂貴。

在大多數情況下,最好的解決方案是提供一個大致與瀏覽器所需大小相同的圖像。瀏覽器中的大小「調整」很好。服務稍大的圖像將允許更高質量的變焦,但你應該明智地使用這個(沒有實際的圖像需要放大時表現出更多的細節?)

另外要留意調整的服務器端的費用每次請求圖像。最好一次性調整大小,然後將結果保存到緩存或數據庫中。

Facebook takes this approach。截至2009年,他們正在生成和存儲每個圖像的四個不同版本。

如果您必須在手機瀏覽器中使用全尺寸圖像,至少應嘗試延遲加載它們,以便只在需要時才下載(例如,當它們首次滾動到視圖中時)。

+1

好鏈接文章! –

+1

這是非常真實的!我們位於南非,移動設備上的數據傳輸速率非常高昂。我喜歡你引用的文章。很少有需要大圖片的地方。如果可能的話,webservice應該返回更小的圖像。我非常喜歡你的答案。你擴大了討論範圍,增加了許多我沒有想到的內容。延遲加載是一個好主意,特別是因爲該網站將有一個照片庫部分。謝謝你的回答。 – KapteinMarshall

2

我知道的最好的方法 - 用於現有的響應式圖像解決方案。

即:

你可以選擇其中一個是你的好。這取決於項目。

如果您只有手機網站 - 爲其提供更小的圖像,併爲您的用戶節省時間和流量。如果你不能 - 只需通過css進行縮放。