Nếu bạn thực sự cần một kênh alpha hoặc phải sử dụng PNG thì bạn nên cài đặt công cụ pngcrush trên máy chủ web của mình và để nó xử lý tất cả các PNG của bạn. Trong hầu hết các trường hợp khác, ảnh JPEG chất lượng cao kết hợp kích thước tệp nhỏ hơn (tức là truyền nhanh hơn) với khả năng nén và hiển thị nhanh hơn.
Hóa ra PNG rất tốt cho các hình ảnh nhỏ mà bạn sẽ sử dụng cho các phần tử giao diện người dùng, nhưng chúng không hợp lý để sử dụng cho bất kỳ ứng dụng toàn màn hình nào như danh mục hoặc tạp chí. Ở đó, bạn sẽ muốn chọn chất lượng nén từ 60 đến 80% tùy thuộc vào tài liệu nguồn của bạn.
Về việc hiển thị tất cả, bạn sẽ muốn bám vào các phiên bản UIImage mà bạn đã vẽ một lần vì chúng có phiên bản không nén được lưu trong bộ nhớ cache của tệp trong đó. Và khi bạn không tạm dừng hình ảnh để hình ảnh lớn xuất hiện trên màn hình, bạn sẽ phải giải nén trước một vài hình ảnh. Nhưng hãy nhớ rằng những điều này sẽ chiếm một lượng lớn RAM và nếu bạn lạm dụng nó có thể khiến ứng dụng của bạn bị chấm dứt. NSCache là một nơi tuyệt vời để đặt các hình ảnh được sử dụng thường xuyên vì điều này tự động xử lý việc loại bỏ các hình ảnh khi RAM trở nên khan hiếm.
Thật không may là chúng ta không có bất kỳ cách nào để biết liệu một hình ảnh có cần giải nén hay không. Ngoài ra, một hình ảnh có thể đã loại bỏ phiên bản không nén mà không thông báo cho chúng tôi về hiệu ứng này. Đó có thể là một Radar tốt để nâng cao tại trang báo cáo lỗi của Apple. Nhưng may mắn thay, việc truy cập hình ảnh như hình trên không mất nhiều thời gian nếu hình ảnh đã được giải nén. Vì vậy, bạn có thể làm điều đó không chỉ “đúng lúc” mà còn “đề phòng”.