Theo như tôi đã hiểu, các thư viện hỗ trợ có thể hoạt động thay thế các API tích hợp, nhưng chúng không được cho là vì chúng trực tiếp ảnh hưởng đến kích thước của ứng dụng.
Ví dụ, thư viện hỗ trợ là 2MB và sử dụng chức năng của nó, nó mất tất cả các lớp, tài nguyên, v.v ... (bây giờ là 2MB), bây giờ là classes.dex
(tệp thực thi Dalvik của tất cả các lớp đang được sử dụng trong ứng dụng) của tôi ứng dụng cũng bao gồm các lớp thư viện hỗ trợ đó và tương tự cho các tài nguyên. Vì vậy, nếu không có thư viện hỗ trợ kích thước ứng dụng của tôi là 1MB, sau đó bây giờ với thư viện hỗ trợ kích thước là 2MB thêm, có nghĩa là tổng số 3MB.
Bây giờ, giả sử tính năng thư viện hỗ trợ này rất phổ biến trên một thiết bị, nếu tôi có 10 ứng dụng, thì ít nhất 9 người đang sử dụng cùng thư viện hỗ trợ này, vì vậy 9 * 2 = 18MB trên thiết bị của tôi đang được cùng một thư viện hỗ trợ, được lặp lại trong mọi ứng dụng, điều này là xấu, bởi vì hiện tại 18MB có thể không nhiều, nhưng không gian cần thiết có thể tăng lên, nếu bạn có nhiều ứng dụng hơn sử dụng thư viện hỗ trợ đó.
Do đó, tùy chọn tốt nhất là có thư viện hỗ trợ 2MB đã có trong hệ điều hành của bạn cho bất kỳ số lượng ứng dụng nào, thay vì có nó cho mỗi ứng dụng. Vì vậy, thư viện hỗ trợ có nghĩa là được sử dụng khi bạn thực sự muốn một số tính năng hiệu quả trong ứng dụng của mình hỗ trợ các phiên bản cũ hơn.
Câu hỏi khác nảy sinh ở đây:
tại sao không thư viện hỗ trợ này sẽ được thêm vào hệ điều hành như cập nhật riêng của mình, vì vậy mà mọi ứng dụng không có vấn đề kích thước có thể truy cập chức năng đó?
Câu trả lời là có thể có nhiều lỗi. Giả sử một số người dùng không có bản cập nhật (thư viện hỗ trợ) được cài đặt ...
Cũng có cơ hội là bản cập nhật, nó có thể không hoạt động hiệu quả như dự kiến hoặc có thể gây ra sự cố khi tích hợp với Hệ điều hành, như chúng ta đã thấy rằng mỗi hệ điều hành (windows, Linux, mac) đi kèm với các phiên bản mới, thay vì chỉ đưa ra các bản cập nhật cho thời gian cuộc sống cho tất cả các tính năng mới.
Nếu nhà phát triển không cần bất kỳ tính năng nào mà thư viện hỗ trợ cung cấp, thì chắc chắn, không sử dụng nó. Tuy nhiên, trong kế hoạch lớn của sự vật, 2MB thực sự không phải là nhiều, và tôi rất thích một ứng dụng tương thích và hoạt động tốt hơn một trong đó đã bị tước bỏ thanh barebones của nó đơn giản chỉ vì bất cứ ai phát triển nó đã lo lắng rằng APK quá lớn. Ngoài ra, bạn có thể chỉ cần sử dụng Proguard để giảm/nén kích thước tệp APK của ứng dụng. –
Vì vậy, nhiều câu dài ... Thực sự khó khăn để có được điểm. – CDT
Tôi không đồng ý với câu trả lời của bạn về người dùng không có thư viện hỗ trợ có thể gây ra nhiều lỗi. Tệp kê khai đã cho phép bạn giới hạn ứng dụng của mình chỉ để hoạt động trên một thiết bị có phiên bản OpenGL nhất định. Họ có thể đã làm tương tự cho Thư viện hỗ trợ, địa ngục họ thậm chí có thể mở rộng chức năng để cho phép một phụ thuộc năng động trên bất kỳ thư viện. Đây là cách nó hiện đã được thực hiện trên hầu hết các hệ điều hành dựa trên Linux. –