Ngừng sử dụng SDCardFS

SDCardFS không còn được dùng nữa trên các thiết bị chạy Android 11 trở lên và chạy hạt nhân phiên bản 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. Thiết bị chạy trên Android 11 trở lên nhưng chạy phiên bản kernel 4.19 hoặc có thể tiếp tục sử dụng SDCardFS, nhưng Google không cung cấp của Google.

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

Chức năng thay thế SDCardFS

Phương thức thay thế cho SDCardFS sử dụng một số tính năng hệ thống tệp hạt nhân Linux để đạt được kết quả tương tự. Phân biệt trường hợp được xử lý trực tiếp hệ thống tệp; điều này dẫn đến thời gian tra cứu gần giống hệt nhau, có phân biệt chữ hoa chữ thường và Các thư mục không phân biệt chữ hoa chữ thường, sẽ loại bỏ tình trạng giảm tốc độ thư mục lớn khỏi 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 trường hợp cho bộ nhớ được mô phỏng mà 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: Không làm việc này trên các thiết bị được phát hành bằng Android 10 trở xuống, vì 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 tệp cài đặt mã hoá được sử dụng trên các thiết bị như vậy. 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ế. Truy cập phần trên và dưới hệ thống tệp cùng lúc cũng có thể dẫn đến sự cố.

Tương đương ngược dòng (upstream)

SDCardFS yêu cầu có các bản vá bổ sung cho VFS để hỗ trợ thay đổi các tuỳ chọn trên liên kết gắn kết. Các bản vá này gây ra thêm công việc để chấp nhận các thay đổi ngược dòng đối với các khu vực này. Các thành phần thượng nguồn có thể sao chép các tính năng của SDCardFS, giúp loại bỏ vấ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 vào bộ nhớ trực tiếp qua SDCardFS không hỗ trợ các trường hợp này bộ nhớ có giới hạn.