Tôi đang phát triển một ứng dụng có nhiều hình ảnh để hoạt động do kích thước ứng dụng của tôi đã trở nên rất lớn. Tôi muốn nén hoặc một cái gì đó như thế để giảm kích thước của ứng dụng. Bất kỳ ý tưởng?Kích thước ứng dụng lớn do hình ảnh. Làm thế nào để nén hình ảnh .PNG?
Trả lời
.png
-files được đặt trong res/drawable
là automatically optimized khi biên dịch ứng dụng của bạn:
file Bitmap có thể được tự động tối ưu hóa với hình ảnh lossless nén bởi công cụ aapt trong quá trình xây dựng. Ví dụ: Ví dụ: PNG màu thật không đòi hỏi nhiều hơn 256 màu có thể là được chuyển đổi thành PNG 8 bit với bảng màu. Điều này sẽ dẫn đến hình ảnh có chất lượng như nhau nhưng yêu cầu ít bộ nhớ hơn. Vì vậy, hãy lưu ý rằng các tệp nhị phân hình ảnh được đặt trong thư mục này có thể thay đổi trong khi xây dựng . Nếu bạn dự định đọc hình ảnh dưới dạng luồng bit để chuyển đổi hình ảnh thành bitmap, hãy đặt hình ảnh của bạn trong res/raw/folder thay vào đó, nơi chúng sẽ không được tối ưu hóa.
Điều đó đang được nói, bạn có thêm một số tùy chọn để thử. Có một bài nói chuyện tốt về chủ đề này từ Google I/O 2016 có tên là "Image Compression for Android Developers", trong đó phác thảo các khả năng, giải thích về những nhược điểm của họ và đưa ra một số phương pháp hay nhất chung.
Nếu kích thước của ứng dụng của bạn là cao được công bố trên thị trường, bạn sẽ hoặc là
- tàu ứng dụng của bạn mà không có hình ảnh và có thể tải chúng từ Internet tới điện thoại SD -card khi ứng dụng lần đầu tiên được bắt đầu
- Sử dụng Android của riêng mình APK Extension Files, về cơ bản giống nhau nhưng bạn không phải tự làm mọi thứ.
Bạn có sử dụng 9 bản vá cho hình nền không? Ngoài ra bạn có thể sử dụng imagemagick hoặc bất cứ điều gì tương tự như nén một lô hoặc hình ảnh.
Sử dụng pngquant hoặc posterizer để giảm kích thước hình ảnh PNG (những công cụ này bị mất, nhưng tiết kiệm đáng kể).
Bạn cũng có thể tối ưu hóa chúng với PNGOUT, một trong những trình tối ưu hóa không mất mát tốt nhất.
Tôi đã viết Mac GUI cho những người đó.
pngquant Rất Gooooood.thx – mghhgm
@Kornel hiện pngquant vẫn hoạt động? chỉ cần thử với giao diện Pngyu và hình ảnh không được hiển thị trên điện thoại của tôi, chỉ trong trình giả lập. –
@ MrCharli3 Có. Đối với hỗ trợ Android (bảo quản các khối tùy chỉnh), hãy đảm bảo bạn có pngquant được biên dịch bằng libpng 1.6 hoặc mới hơn ('pngquant -h'). Tôi không duy trì pngyu. Phiên bản OS X chính thức chắc chắn là OK. – Kornel
- Hãy thử và sử dụng ".png".
- Sử dụng hình ảnh 9-bit cho hình nền.
- Nếu bạn có thanh tiêu đề, tiêu đề có độ dốc dọc, luôn sử dụng hình ảnh có độ rộng 1 pixel. Đây là một siêu tiết kiệm.
- Nếu bạn quản lý để có được giữ Photoshop, họ có tùy chọn để lưu hình ảnh cho các thiết bị web/di động. Giúp tạo ra những hình ảnh có kích thước thật nhỏ với chất lượng tốt.
- Nếu u r hỗ trợ nhiều thiết bị, hãy duy trì các phiên bản khác nhau của hình ảnh chỉ dành cho những phiên bản thực sự cần thiết.
Luôn sử dụng hình ảnh PNG (.png). Và nén nó trực tuyến bằng cách tải lên hình ảnh của bạn để
Đơn giản và tỉnh táo, luôn luôn làm việc. Không có chi. :)
Ngoài ra còn có cách tốt hơn để sử dụng AndEngine, nó giúp bạn tiết kiệm bố cục cho mỗi điện thoại. Và không cần phải sử dụng các hình ảnh khác nhau cho các điện thoại dpi khác nhau.
Tôi đang sử dụng hình ảnh .png trong dự án của mình. Tôi đã thấy imagemagick trên web nhưng không thể tìm thấy lệnh để giảm kích thước bộ nhớ hình ảnh. Bạn có thể giúp tôi tìm hiểu không? –
bạn phải recompress hình ảnh bằng cách sử dụng chất lượng thấp hơn – njzk2