2013-10-14 99 views
0

我爲我的一個應用程序發佈了一個新的更新,我很失望地發現它僅僅超過了20MB的估計大小(20MB是無法再通過單元格數據下載的地步)。非視網膜圖像有多重要?

我的應用程序包含很多圖像,所以如果我沒有所有這些非視網膜圖像,我可以大大減小尺寸。我知道有一些非視網膜設備將運行我的應用程序。因此,這裏是我的問題:

  • ,如果我與@ 2個後綴,但如果沒有它沒有非視網膜圖像的圖像,如何將非視網膜設備反應。

  • 如果我使用視網膜大小的圖像,而不@ 2個後綴,規模下來到我要通過界面生成器的編程和/或 顯示它的大小,將仍然維持 視網膜設備的全面質量?在非視網膜設備 上,質量會比使用GIMP 代替原始尺寸縮小的圖像質量更差嗎?

+0

你試過對你的PNG文件有損壓縮嗎? – Kreiri

+0

您是否嘗試過使用ImageOptim來擠出PNG中的最後幾個字節? (並禁用重新優化Xcode中的PNG) – Cyrille

回答

0

如果沒有它,如果我有一個帶有@ 2x後綴但沒有非視網膜圖像的圖像,非視網膜設備會如何反應。

我在一些我的應用程序上使用這種方法,它的工作完美無瑕。我無法檢測到非視網膜顯示設備(具體來說,iPad 1/2和mini)的任何性能或視覺問題。

我不確定在舊版iOS上會發生什麼,因爲我只在這些應用上支持iOS5 +。

如果我使用視網膜大小的圖像,而不@ 2個後綴,規模下來到我要在程序和/或通過接口生成器顯示它的大小,將仍然保持在視網膜顯示設備的全面質量?非視網膜設備的質量會比使用GIMP從原始尺寸縮小的圖像質量更差嗎?

這涉及到如何在進行縮放時設置插值選項。 See this other question for more details on how interpolation quality affects scaling down an image.在GIMP或Photoshop中,您還可以控制插值以用於縮放,順便說一句。

但最終我不認爲你需要這樣。

最重要的是,那個帶寬limit has been raised to 50MB

0

好的。

如果你只提供一個圖像,那麼你有兩種可能性之一。

  1. 該圖像是非視網膜圖像。這在非視網膜上看起來很好。它在視網膜設備上看起來完全相同。但在視網膜圖像旁邊看起來質量很差。

  2. 該圖像是一個視網膜圖像。在視網膜設備上,它仍將作爲視網膜圖像加載。它看起來很好。但是,在非視網膜設備上,它將不得不縮小圖像。這會佔用額外的CPU週期,因此可能會影響性能,並且可能看起來並不如人意。它可能會使用與您不同的方法縮小圖像,因此可能會使圖像看起來很奇怪。

這與帶或不帶後綴相同。

最好的解決方案是創建視網膜圖像,然後使用您選擇的編輯器創建標準版本。沒有什麼會阻止你只提供一個圖像,但它可能會導致你不想要的外觀和性能。

在側面說明。通過蜂窩數據下載的大小增加到50MB。

0

嘗試使用模擬器的這些東西,並找出自己。

我認爲答案是UIImage會忽略@ 2x的選擇,如果你依靠[UIImage imageNamed:@"without2xSuffix.png"]而沒有找到任何東西,但我沒有嘗試過。有意請求@ 2x文件將工作,但圖像是否被縮放,平鋪,拉伸或居中(或其他)是否在使用它的地方。

請注意,文檔中說,除非您使用不帶@ 2x後綴的名稱,並讓iOS爲您找到2 x版本,否則將設置圖像的縮放比例爲1.0而不是2.0,這使繪圖變得複雜。您必須使用imageWithData:scale:加載圖像才能解決此問題。

相關問題