SDCardFS در دستگاههایی که با Android 11 یا بالاتر راهاندازی میشوند و از نسخه هسته ۵.۴ یا بالاتر استفاده میکنند منسوخ شده است. در چنین دستگاههایی، آزمایش VTS اجازه نمیدهد سیستمهای فایل سوارشده بهعنوان SDCardFS فهرست شوند. دستگاههایی که با Android 11 یا بالاتر عرضه میشوند اما از نسخه هسته ۴.۱۹ یا پایینتر استفاده میکنند میتوانند همچنان از SDCardFS استفاده کنند، اما Google پشتیبانی بیشتری ارائه نمیدهد.
قبلاز منسوخ شدن، SDCardFS راهی برای کنترل دسترسی به حافظه داخلی شبیهسازیشده و کارتهای SD خارجی ارائه میداد و به برنامهها اجازه میداد فقط به دادههای مربوط به خودشان دسترسی داشته باشند. علاوهبراین، این ویژگی لایهای از عدم حساسیت به حروف بزرگ و کوچک و همچنین برخیاز ردیابیهای اضافی فضای ذخیرهسازی را ارائه میدهد.
عملکرد جایگزین SDCardFS
جایگزین SDCardFS از چندین ویژگی سیستم فایل هسته Linux برای دستیابی به نتایج مشابه استفاده میکند. حساسیت به حروف بزرگ و کوچک مستقیماً توسط سیستم فایل مدیریت میشود؛ این امر منجر به زمانهای جستجوی تقریباً یکسان در پوشههای حساس به حروف بزرگ و کوچک و پوشههای غیرحساس به حروف بزرگ و کوچک میشود و کاهش سرعت پوشههای بزرگ در SDCardFS را برطرف میکند. اکنون پیگیری سهمیه که SDCardFS برای جمعآوری سریع دادههای فضای ذخیرهسازی برای تنظیمات انجام میداد از فضای کاربر بااستفاده از سهمیههای پروژه پیکربندی میشود. در برخیاز بافتارهای حساس به عملکرد، فهرستهای راهنما در محل نصب میشوند. پیادهسازی جدید FUSE فضای ذخیرهسازی محدودشدهای برای دسترسی مستقیم به سیستم فایل فراهم میکند، که عمدتاً برای پشتیبانی از محو کردن اطلاعات مکان است.
پیکربندی عملکرد جایگزینی SDCard
برای فعال کردن سهمیه پروژه و تبدیل حروف کوچک و بزرگ برای فضای ذخیرهسازی شبیهسازیشده بدون SDCardFS
در دستگاهی که با Android 11 یا بالاتر عرضه شده است،
از emulated_storage.mk در فایل device.mk ارث ببرید:
$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
هشدار: این کار را در دستگاههایی که با Android نسخه ۱۰ یا پایینتر عرضه شدهاند انجام ندهید، زیرا عدم حساسیت به حروف بزرگ و کوچک در سیستم فایل با تنظیمات رمزگذاری مبتنی بر فایل که در این دستگاهها استفاده میشود ناسازگار است. استفاده از SDCardFS در این دستگاهها ضروری است.
دلایل منسوخ کردن SDCardFS
دلایل مختلفی برای منسوخ کردن SDCardFS وجود دارد.
پایداری
SDCardFS از چندین وضعیت مسابقه مربوط به حساسیت به حروف بزرگ و کوچک و همچنین برخیاز مشکلات مربوط به شرایط حافظه کم رنج میبرد. جستجوهای غیرحساس به بزرگی و کوچکی حروف میتواند در دایرکتوریهای بزرگ نسبتاً کند باشد زیرا جستجوها باید دایرکتوری پایینی را برای یافتن موارد جایگزین طی کنند. دسترسی به سیستمهای فایل بالا و پایین بهطور همزمان نیز میتواند منجر به مشکلاتی شود.
برابری بالادستی
SDCardFS برای پشتیبانی از تغییر گزینهها در نصبهای پیوندی به وصلههای اضافی در VFS نیاز دارد. این وصلهها باعث میشود پذیرش تغییرات بالادستی در این زمینهها کار بیشتری ببرد. ویژگیهای SDCardFS را میتوان با مؤلفههای بالادستی تکرار کرد، و این مشکل را برطرف کرد.
برابری ویژگی با API
در نسخه قبلی Android، فضای ذخیرهسازی محدود دسترسی به انواع خاصی از فراداده را محدود میکرد. دسترسی مستقیم به فضای ذخیرهسازی ازطریق SDCardFS از این ویژگیهای فضای ذخیرهسازی محدودشده پشتیبانی نمیکند.