2012-03-08 7 views
9

Tôi hiện đang tối ưu hóa ứng dụng iOS của mình cho iPad mới. Thật không may bằng cách thêm hình ảnh khởi động cho màn hình Retina iPad kích thước của tôi ipa tăng từ 1,2MB đến 5,5MB, chủ yếu là do hai hình ảnh PNG trong 1536 x 2008 (dọc) và 2048 x 1496 (phong cảnh). Kích thước của những hình ảnh này là đáng kính 1,9MB và 1,7MB.iOS: cách giảm kích thước tệp PNG lớn

Chân dung có thể được xem tại đây: http://uploads.demaweb.dk/iPadPortrait.png.

Như bạn có thể nhận thấy, nền là một mẫu cố định nhưng thật đáng buồn có vẻ như điều này không phải là rất nén. Tôi đã cố gắng để nén hình ảnh bằng cách sử dụng ImageOptim, nhưng nó không thực hiện bất kỳ sự khác biệt sau khi Xcode đã nén hình ảnh trong kho lưu trữ. Tìm kiếm trên web tôi đã nhận thấy rằng một số người đang cố gắng tắt tính năng nén PNG trong Xcode.

Tôi có thể làm gì không? Nó không phải là một giải pháp để thay đổi mô hình trong hình ảnh thành một màu đồng nhất, vì nó trông giống như nền trong chế độ xem iOS của tôi. Nhưng nó có vẻ kỳ lạ, hỗ trợ iPad mới tăng kích thước lên ~ 4MB.

Trả lời

5

Ive đấu tranh với điều này quá, tiếc là không nhiều có thể được thực hiện.

Trong nỗ lực tăng đáng kể hiệu suất vẽ của ứng dụng iOS, Xcode nén lại tệp PNG khi tệp được tạo. Nó bắt đầu kênh alpha và byte hoán đổi các kênh màu đỏ, xanh lá cây và xanh lam thành trình tự màu xanh, xanh lục và đỏ. Kết quả được tối ưu hóa cho mục đích iOS, nhưng như một tác dụng phụ, làm việc ImageOptim của được hoàn tác ...

Source

+0

Đó chính xác cùng một nguồn Tôi đã tìm thấy - họ khuyên bạn KHÔNG nên tắt tính năng nén trong Xcode.Có lẽ người dùng iOS từ bây giờ trở nên mong đợi kích thước ứng dụng đang tăng mạnh. – dhrm

+0

@DennisMadsen Tôi đồng ý hoàn toàn, bây giờ kể từ khi 'iPad mới' hiện là màn hình hiển thị võng mạc hãy tưởng tượng các ứng dụng lớn sẽ nhận được như thế nào khi bạn cần đặt đồ họa HD cho iPad. Tôi hy vọng táo nhận ra điều này và thay đổi. – atrljoe

+1

Có thể đây là lý do tại sao [giới hạn tải xuống không dây đã được tăng từ 20MB lên 50MB] (http://www.macrumors.com/2012/03/07/apple-boosts-over-the-air-app -store-download-limits-to-50-mb /). – dhrm

9

tôi đã có thể nhận được nó xuống 633KB với pngquant (64 màu sắc với dither nhẹ, mà hầu như không thể nhận thấy trên màn hình thông thường, và hoàn toàn vô hình ở độ phân giải Retina) và ImageOptim.

Có, bạn sẽ cần phải disable Xcode's conversion để tránh các tệp tăng tốc Xcode bằng cách chuyển đổi chúng thành ARGB.

NB: bài viết được trích dẫn trong các câu trả lời chấp nhận cung cấp không chuẩn ở tất cả cho sự chênh lệch tốc độ tuyên bố.
Nó cũng có chỉnh sửa rằng nó có thể tối ưu hóa hình ảnh bằng ứng dụng ImageOptim cho iOS
.

+0

Có an toàn để vô hiệu hóa nén PNG trong XCode không? PNG có được nén trong XCode tải nhanh hơn trên thiết bị iOS (ngay cả khi kích thước của nó cao hơn) không? Nếu vậy, đó là sự cân bằng giữa hiệu suất và kích thước ứng dụng. – dhrm

+0

Chắc chắn là an toàn, vì iOS hỗ trợ PNG chuẩn. Tôi đã nhận xét về câu trả lời trước đó mà tôi nghĩ rằng lợi ích hiệu suất của định dạng iOS-ARGB bị thổi phồng, bởi vì RGBA <-> chuyển đổi ARGB là không đáng kể. OTOH tải và giải nén dữ liệu nhiều hơn không phải là quá tầm thường, vì vậy tôi muốn nói rằng tập tin nhỏ hơn nhiều là nhanh hơn bất kể định dạng. – Kornel

7

Tôi đang sử dụng một công cụ tuyệt vời gọi là ImageOptim

Nó kết hợp một số công cụ bên trong mà đè bẹp các file png của bạn đáng kể (trong trường hợp của tôi nó là từ 25% đến 50%).

Một điều cần nhớ là để vô hiệu hóa tối ưu hóa PNG Xcode của (như đã giải thích trên trang web)

EDIT: Đơn giản chỉ cần kéo hình ảnh vào cửa sổ imageOptim và tối ưu hóa sẽ bắt đầu tự động

+0

ImageOptim cho các phần tử GUI thông thường, sau đó thêm ImageAlpha cho bất kỳ họa tiết/hình nền lớn nào và bạn sẽ nhận được giảm kích thước tuyệt vời – jjxtra