post
Tin tức
1980

Sự thật đằng sau việc giảm dung lượng tệp tải về của ứng dụng trên Google Play

Khoảng 98% các cập nhật của ứng dụng trên Play Store là có các thay đổi trong tệp APK được tải về rồi thêm vào các tệp hiện tại, làm giảm kích cỡ của các cập nhật.

1. Thuật toán Delta mới làm giảm dung lượng cập nhật của ứng dụng

Khoảng 98% các cập nhật của ứng dụng trên Play Store là có các thay đổi trong tệp APK được tải về rồi thêm vào các tệp hiện tại, làm giảm kích cỡ của các cập nhật. Google Play đã dùng thuật toán delta từ năm 2012 và gần đây có thêm một thuật toán delta, bsdiff (tác giả Colin Percival1), mà chúng tôi đã kiểm tra có thể giảm kích cỡ cập nhật của một số tệp ẠPK lên tới 50% hoặc hơn so sánh với thuật toán cũ. Bsdiff được sinh ra nhằm tạo các thay đổi hiệu quả cho các thư viện có sẵn bằng cách lợi dụng cách mà các thư viện biên soạn các thay đổi code giữa các version. Để đạt hiệu quả cao nhất các thư viện nên được lưu dưới dạng không nén (nén làm ảnh hưởng tới thuật toán delta). 

 

Một ví dụ của Chrome:

 

Mô tả bản cập nhậtBản cập nhật trướcKích cỡ Bsdiff
M46 tới M47 cập nhật lớn22.8 MB12.9 MB
M47 cập nhật nhỏ15.3 MB3.6 MB

 

Ứng dụng mà không có các thư viện giải nén có thể giảm được trung bình 5% về kích cỡ, so với các thuật toán delta cũ.

 

2. Thông tin dung lượng trên Play Store rõ ràng hơn

 

Ngoài việc cải thiện để giảm dung lượng tải về, chúng ta cũng có thể hiện thị thông tin về dung lượng tải về của ứng dụng trong Play Store rõ ràng hơn. Bạn có thể thấy dung lượng thực của tệp tải cề chứ không phải là tệp APK trên Play Store. Nếu bạn đã cài ứng dụng rồi thì sẽ chỉ nhìn thấy kích cỡ của bản cập nhật. Các thay đổi này đang được tung ra.

 

3. Mẹo giảm dung lượng tệp tải về

 

Tối ưu phương pháp tính toán kích cỡ: Người dùng quan tâm đến dung lượng tệp tải về (ví dụ bao nhiêu bytes được tải về khi cài hoặc cập nhật ứng dụng), và họ quan tâm đến dung lượng ổ trên điện thoại (ứng dụng chiếm bao nhiêu bộ nhớ). Nên nhớ là hai con số này không giống với con số của tệp APK, chúng không liên quan tới nhau.

 

Ví dụ của Chrome:

 

/Nén thư việnKhông nén thư viện
Kích cỡ APK39MB52MB (+25%)
Kích cỡ tải về (cài đặt)29MB29MB (no change)
Kích cỡ tải về (cập nhật)29MB21MB (-29%)
Chiếm dung lượng ổ71MB52MB (-26%)

 

Giảm kích cỡ tệp APK: Bỏ các dữ liệu không cần thiết khỏi APK như là các resources không dùng tới, code chết.

 

Tối ưu từng phần của APK khiến nó nhỏ hơn: Dùng các đinh dạng tệp hiệu quả hơn ví dụ như dùng WebP thay vì JPEG, hoặc dùng Proguard để bỏ các dòng code không dùng tới.

 

Tác giả: Anthony Morris, SWE Google Play

Người dịch: Đoàn Dự

Đánh giá bài viết

0

0/5 - 0 lượt bình chọn
Diệu Hương
Marketer tại MindX
Đăng ký nhận bản tin
Đăng ký ngay để nhận tin tức và tài liệu mới nhất về công nghệ