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

imicrosoft

Google Play tiếp tục phát triển nhanh chóng, số ứng dụng mà người dùng Android cài đặt đó là hơn 65 tỉ ứng dụng từ Google Play trong năm ngoái. Chúng ta cũng thấy các nhà phát triển đang cập nhật ứng dụng của họ thường xuyên hơn như đẩy lên các nội dung thú vị, vá lỗi bảo mật, tiếp thu phản hồi từ người dùng. Tuy nhiên nhiều người dùng rất nhạy cảm với lượng dữ liệu mà các ứng dụng đang dùng, đặc biệt là khi họ không có Wi-Fi. Google Play đang đầu tư vào việc giảm lượng dữ liệu cần phải tải về cho ứng dụng cài đặt và update, đồng thời làm minh bạch các lượng dữ liệu này. Đọc bài này để hiểu về phần cập nhật đó và học một vài chiêu để tối ưu dung lượng của tệp APK.

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. Googl 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ật

Bản cập nhật trước

Kích cỡ Bsdiff

M46 tới M47 cập nhật lớn

22.8 MB

12.9 MB

M47 cập nhật nhỏ

15.3 MB

3.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.


  1. Colin Percival, Sự khác nhau cơ bản của các dòng code thực thi, http://www.daemonology.net/bsdiff/, 2003. 

Ví dụ 1: Hiển thị “Download size” của tệp APK

Ví dụ 2: Hiển thị “Update size” của tệp APK

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 nhyau.

Ví dụ của Chrome:

 

Nén thư viện

Không nén thư viện

Kích cỡ APK

39MB

52MB (+25%)

Kích cỡ tải về (cài đặt)

29MB

29MB (no change)

Kích cỡ tải về (cập nhật)

29MB

21MB (-29%)

Chiếm dung lượng ổ

71MB

52MB (-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.

BTV. Phạm Thị Mỹ Phương
Phòng Truyền Thông ImicroSoft Hồ Chí Minh
Hotline: 0916 878 224
Email: phuongptm@imicrosoft.edu.vn

Học CNTT/CNPM để biến ý tưởng kinh doanh thành hiện thực ngay

Với đội ngũ nhân sự có trình độ năng lực chuyên môn cao, trong đó có những Chuyên gia hàng đầu sở hữu nhiều Chứng chỉ Quốc Tế từ MicroSoft, Google, Oracle, Java, IBM. IMicroSoft luôn đi đầu trong việc ứng dụng công nghệ mới vào các dự án phần mềm cũng như nỗ lực trau dồi kỹ năng, kiến thức chuyên môn để nâng cao hơn nữa chất lượng Đào tạo nguồn nhân sự đáp ứng tốt các yêu cầu thực tế tại Doanh nghiệp. Chúng tôi cam kết sẽ mang đến chất lượng dịch vụ hoàn hảo vượt trên cả mong đợi của khách hàng.

Bài viết liên quan

Nghiên cứu đủ rồi, đăng ký tham gia khóa học thôi

ĐỐI TÁC LIÊN KẾT TUYỂN DỤNG NHÂN SỰ CỦA IMICROSOFT VIET NAM

IMicroSoft

IMicroSoft tự hào là doanh nghiệp đầu tiên tại Việt Nam triển khai các Chương trình Đào tạo chuyên môn thực tế cho Học viên ngành CNTT/CNPM. Cũng là một trong những doanh nghiệp đạt được nhiều giải thưởng lớn trong lĩnh vực này. Góp phần phát triển mạnh ngành CNTT/CNPM tại nước ta hiện nay.