Logo vi.androidermagazine.com
Logo vi.androidermagazine.com

Thủ thuật đơn giản của Facebook để phục vụ rất nhiều thiết bị Android khác nhau

Anonim

Một số người thích gọi nó là phân mảnh, những người khác gọi nó là sự lựa chọn, nhưng với bất kỳ tên nào, chắc chắn có rất nhiều điện thoại Android khác nhau. Xây dựng các ứng dụng cần phải làm việc với tất cả chúng không phải là nhiệm vụ dễ dàng. Bạn có các cấu hình phần cứng rất khác nhau tạo ra sự khác biệt lớn về hiệu năng và mặc dù một tệp apk có thể hoạt động trên mọi tệp, nhưng vẫn có vấn đề cần một ứng dụng chạy trơn tru trên các thiết bị cấp thấp mà không bị mất tính năng trên cao -thiết bị dùng cuối. Khi bạn đang nói về một ứng dụng phổ biến như Facebook, điều này có thể nhanh chóng trở thành cơn ác mộng đối với những người thực hiện mã hóa.

Facebook đã cho mọi người xem tại Big Android Meat và chào hỏi một giải pháp mới đơn giản - thành phần Lớp thiết bị.

Các nhà phát triển của Facebook mô tả thành phần phần mềm mới này như thế này:

Device Year Class là một thư viện Android thực hiện một thuật toán đơn giản để ánh xạ RAM, lõi CPU và tốc độ xung nhịp của thiết bị đến năm mà các kết hợp thông số kỹ thuật đó được coi là cao cấp. Điều này cho phép nhà phát triển dễ dàng sửa đổi hành vi ứng dụng dựa trên khả năng của phần cứng điện thoại.

Thư viện không thay đổi bất kỳ hành vi nào trong ứng dụng. Nó trả về một giá trị (được biểu thị bằng một năm) được lưu trữ trong mã cho các lần khi nhà phát triển cần thay đổi cách ứng dụng hoạt động để điều chỉnh trải nghiệm cho một loại phần cứng cụ thể. Điều này có nghĩa là một nhà phát triển có thể viết một ứng dụng với các hình động và chuyển tiếp lạ mắt sẽ chơi như dự định khi chạy trên một thứ gì đó như Galaxy Note 4, nhưng không sử dụng kẹo mắt khi ứng dụng đang chạy trên một thứ như Moto E. Như bạn có thể hãy tưởng tượng, loại điều khiển này trên một ứng dụng như Facebook - được cài đặt trên hàng triệu và hàng triệu điện thoại khác nhau - có thể và sẽ mang lại trải nghiệm tốt hơn cho mọi người. Và thật dễ dàng để thực hiện. Từ tài liệu trên GitHub:

if (year >= 2013) { // Do advanced animation } else if (year > 2010) { // Do simple animation } else { // Phone too slow, don't do any animations }

Trên hết, thư viện có nguồn mở theo giấy phép phần mềm BSD (cùng loại giấy phép Google sử dụng cho nguồn Android) và có sẵn cho mọi nhà phát triển sử dụng miễn phí.

Chúng tôi biết điều này không phải là phép thuật và có khả năng hầu hết các nhà phát triển làm việc trong các dự án lớn đều có một số phương pháp để xử lý các cấu hình phần cứng khác nhau. Những gì lớp năm thiết bị làm là cung cấp một giải pháp đơn giản và "thanh lịch" cho một vấn đề lớn, và bất cứ ai cũng có thể sử dụng nó.

Trang GitHub của Lớp thiết bị