• 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

  • 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ề

    1. 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%)
    1. 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.
    2. 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ừ khóa tìm kiếm:

    công nghệ thông tin giảm dung lượng tệp tải về Google Play

Yêu cầu đăng nhập

Bạn cần phải là thành viên để có thể comment vào bài viết này, vui lòng đăng nhập bằng tài khoản của mình hoặc đăng ký

Bình luận