Wycofanie SDCardFS

SDCardFS jest przestarzały na urządzeniach z systemem Android 11 lub nowszym i systemem jądra w wersji 5.4 lub nowszej. Na takich urządzeniach testowanie VTS nie pozwala na zamontowanie systemów plików wymienionych jako SDCardFS. Urządzenia z systemem Android 11 lub nowszym, ale z jądrem w wersji 4.19 lub starszej, mogą nadal korzystać z SDCardFS, ale Google nie zapewnia dodatkowej pomocy.

Przed wycofaniem SDCardFS umożliwiał kontrolę dostępu do emulowanej pamięci wewnętrznej i zewnętrznych kart SD, umożliwiając aplikacjom dostęp tylko do istotnych dla nich danych. Dodatkowo zapewniono warstwę nieuwzględniającą wielkości liter, a także dodatkowe śledzenie pamięci.

Funkcja wymiany SDCardFS

Zamiennik SDCardFS wykorzystuje kilka funkcji systemu plików jądra Linux, aby osiągnąć podobne wyniki. Nieuwzględnianie wielkości liter jest obsługiwane bezpośrednio przez system plików; powoduje to prawie identyczne czasy wyszukiwania w folderach rozróżniających i niewrażliwych na wielkość liter, eliminując spowolnienie dużych folderów w SDCardFS. Śledzenie przydziałów stosowane przez SDCardFS w celu szybkiego gromadzenia danych dotyczących pamięci dla ustawień jest teraz konfigurowane z przestrzeni użytkownika przy użyciu przydziałów projektu. W niektórych kontekstach, w których zależy od wydajności, katalogi są montowane na miejscu. Nowa implementacja FUSE zapewnia pamięć masową o ograniczonym zakresie, umożliwiającą bezpośredni dostęp do systemu plików, głównie w celu wspierania redagowania informacji o lokalizacji.

Skonfiguruj funkcję wymiany karty SD

Aby włączyć limity projektu i składanie obudów dla emulowanej pamięci bez SDCardFS na urządzeniu z systemem Android 11 lub nowszym, odziedzicz z emulated_storage.mk w pliku device.mk :

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

Ostrzeżenie: nie rób tego na urządzeniach z systemem Android 10 lub starszym, ponieważ natywna funkcja nieuwzględniania wielkości liter w systemie plików jest niezgodna z ustawieniami szyfrowania plików używanymi na takich urządzeniach. Konieczne jest dalsze korzystanie z SDCardFS na takich urządzeniach.

Powody, dla których należy wycofać SDCardFS

Istnieje wiele powodów, dla których warto wycofać SDCardFS.

Stabilność

SDCardFS cierpi z powodu kilku warunków wyścigowych dotyczących rozróżniania wielkości liter, a także pewnych problemów związanych z małą ilością pamięci. Wyszukiwanie bez uwzględniania wielkości liter może być dość powolne w dużych katalogach, ponieważ wyszukiwania muszą przechodzić do niższego katalogu, aby znaleźć alternatywne przypadki. Jednoczesny dostęp do górnego i dolnego systemu plików również może prowadzić do problemów.

Parytet w górę

SDCardFS wymaga dodatkowych poprawek do VFS, aby obsługiwać zmianę opcji podczas montowania powiązań. Te poprawki powodują dodatkową pracę związaną z akceptacją wcześniejszych zmian w tych obszarach. Funkcje SDCardFS można replikować za pomocą komponentów nadrzędnych, eliminując ten problem.

Parzystość funkcji z API

W poprzedniej wersji Androida pamięć o ograniczonym zakresie ograniczała dostęp do określonych typów metadanych. Bezpośredni dostęp do pamięci za pośrednictwem SDCardFS nie obsługuje tych funkcji przechowywania o ograniczonym zakresie.