2010-07-25 51 views
6

Tôi có một ứng dụng sử dụng rất nhiều tệp .png, vì vậy để giảm kích thước ứng dụng tôi đã sử dụng PngOptimizer để tối ưu hóa chúng. Tôi đã hài lòng với kết quả và kích thước tập tin của png đi từ alittle trên 1mb đến 300kb hoặc hơn. nhưng vì lý do nào đó kích thước ứng dụng chỉ giảm khoảng 100kb. không ai biết tại sao? Tôi thực sự muốn giảm kích thước tệp mà tôi thấy trong tệp png của mình để chuyển sang kích thước ứng dụng của mình. hãy giúpandroid png tối ưu hóa

Trả lời

8

Tệp ứng dụng .APK của bạn đã được nén bằng thuật toán giảm phát. Đó là cùng một thuật toán được sử dụng bởi các tệp PNG.

Vì vậy, tối ưu hóa bạn đã thực hiện với PngOptimizer đã được thực hiện cho một số mở rộng bởi trình đóng gói .APK.

Nếu bạn muốn giảm kích thước ứng dụng, bạn nên giảm độ sâu màu của tệp PNG (điều này giúp ích nhiều) hoặc chuyển sang tệp .JPG nếu có thể. Chúng có thể - tùy thuộc vào hình ảnh chứa - nhỏ hơn.

+0

cảm ơn, tôi sẽ thử rằng – John

+0

@John: Để giảm độ sâu màu thử [pngquant] (http://pngquant.org). Nó sẽ bảo vệ kênh alpha. – Kornel

5

Tệp PNG trong res/drawable được tự động nén bằng bảng màu nếu có thể.

Từ http://developer.android.com/guide/topics/graphics/2d-graphics.html#drawables:

Lưu ý: các nguồn lực ảnh đặt trong res/drawable/có thể được tự động tối ưu hóa với khả năng nén hình ảnh lossless bởi công cụ aapt trong quá trình xây dựng. Ví dụ, PNG màu thật không yêu cầu nhiều hơn 256 màu có thể được chuyển đổi thành PNG 8 bit với bảng màu. Điều này sẽ dẫn đến một hình ảnh có chất lượng như nhau nhưng đòi hỏi ít bộ nhớ hơn.