Ngừng sử dụng SDCardFS

SDCardFS không được dùng nữa trên các thiết bị chạy Android 11 trở lên và chạy phiên bản nhân hệ điều hành 5.4 trở lên. Trên các thiết bị như vậy, quy trình kiểm thử VTS không cho phép hệ thống tệp được gắn được liệt kê là SDCardFS. Các thiết bị chạy Android 11 trở lên nhưng chạy hạt nhân phiên bản 4.19 trở xuống có thể tiếp tục sử dụng SDCardFS, nhưng Google không hỗ trợ thêm.

Trước khi tính năng này ngừng hoạt động, SDCardFS đã cung cấp một cách kiểm soát quyền truy cập vào bộ nhớ trong được mô phỏng và thẻ SD bên ngoài, cho phép các ứng dụng chỉ truy cập vào dữ liệu liên quan đến chúng. Ngoài ra, lớp này còn cung cấp một lớp không phân biệt chữ hoa chữ thường, cũng như một số tính năng theo dõi bộ nhớ bổ sung.

Chức năng thay thế SDCardFS

Việc thay thế cho SDCardFS sử dụng một số tính năng của hệ thống tệp nhân hệ điều hành Linux để thu được kết quả tương tự. Hệ thống tệp sẽ trực tiếp xử lý việc không phân biệt chữ hoa chữ thường; điều này dẫn đến thời gian tra cứu gần như giống nhau trong các thư mục phân biệt chữ hoa chữ thường và không phân biệt chữ hoa chữ thường, loại bỏ tình trạng thư mục lớn bị chậm lại trên SDCardFS. Tính năng theo dõi hạn mức mà SDCardFS đang thực hiện để nhanh chóng thu thập dữ liệu bộ nhớ cho các chế độ cài đặt hiện được định cấu hình từ không gian người dùng bằng cách sử dụng hạn mức dự án. Trong một số ngữ cảnh nhạy cảm về hiệu suất, các thư mục được liên kết gắn tại chỗ. Việc triển khai FUSE mới cung cấp bộ nhớ có giới hạn để truy cập trực tiếp vào hệ thống tệp, chủ yếu là để hỗ trợ việc loại bỏ thông tin vị trí.

Định cấu hình chức năng thay thế thẻ SD

Để bật hạn mức dự án và gập màn hình cho bộ nhớ mô phỏng không có SDCardFS trên một thiết bị chạy Android 11 trở lên, hãy kế thừa từ emulated_storage.mk trong tệp device.mk:

$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)

Cảnh báo: Đừng không làm việc này trên các thiết bị chạy Android 10 trở xuống, vì tính năng không phân biệt chữ hoa chữ thường gốc của hệ thống tệp không tương thích với chế độ cài đặt mã hoá dựa trên tệp được sử dụng trên các thiết bị như vậy. Bạn cần tiếp tục sử dụng SDCardFS trên các thiết bị như vậy.

Lý do ngừng sử dụng SDCardFS

Có nhiều lý do khiến bạn nên ngừng sử dụng SDCardFS.

Độ ổn định

SDCardFS gặp phải một số điều kiện tương tranh liên quan đến độ nhạy cảm về chữ hoa chữ thường, cũng như một số vấn đề liên quan đến trường hợp bộ nhớ thấp. Các lượt tra cứu không phân biệt chữ hoa chữ thường có thể khá chậm trong các thư mục lớn vì các lượt tra cứu phải duyệt qua thư mục thấp hơn để tìm các trường hợp thay thế. Việc truy cập vào hệ thống tệp trên và dưới cùng một lúc cũng có thể dẫn đến sự cố.

Tương đương ngược dòng

SDCardFS yêu cầu có thêm bản vá cho VFS để hỗ trợ thay đổi các tuỳ chọn trên các liên kết liên kết. Các bản vá này khiến bạn phải thực hiện thêm một số thao tác để chấp nhận các thay đổi ngược dòng (upstream) đối với những khu vực này. Các tính năng của SDCardFS có thể được sao chép bằng các thành phần ngược dòng (upstream), giúp loại bỏ điểm bất tiện này.

Tương đương về tính năng với API

Trong bản phát hành Android trước, bộ nhớ có giới hạn đã hạn chế quyền truy cập vào một số loại siêu dữ liệu cụ thể. Quyền truy cập trực tiếp vào bộ nhớ thông qua SDCardFS không hỗ trợ các tính năng bộ nhớ có giới hạn này.