إيقاف SDCardFS

تم إيقاف واجهة برمجة التطبيقات SDCardFS نهائيًا على الأجهزة التي تعمل بالإصدار 11 من نظام التشغيل Android أو الإصدارات الأحدث والإصدار 5.4 من نظام التشغيل أو الإصدارات الأحدث. على أجهزة اختبار VTSهذه، لا يُسمح بأنظمة الملفات المثبَّتة والمُدرَجة على أنّها SDCardFS. يمكن للأجهزة التي تعمل بالإصدار Android 11 أو إصدار أحدث ولكن تعمل بالإصدار 4.19 من الإصدار القديم من نظام التشغيل مواصلة استخدام SDCardFS، ولكن لا تقدّم Google دعمًا إضافيًا.

قبل إيقافه نهائيًا، كان تنسيق SDCardFS يقدّم طريقة للتحكّم في الوصول إلى وحدة التخزين الداخلية المُحاكاة وبطاقات SD الخارجية، ما يسمح للتطبيقات بالوصول إلى البيانات المعنية بها فقط. بالإضافة إلى ذلك، وفّرت هذه الطريقة طبقة من عدم الالتفات إلى حالة الأحرف، بالإضافة إلى بعض عمليات تتبُّع مساحة التخزين الإضافية.

وظيفة استبدال SDCardFS

يستخدم البديل لـ SDCardFS العديد من ميزات نظام الملفات في نواة Linux لمحاولة تحقيق نتائج مماثلة. يعالج نظام الملفات مباشرةً عدم مراعاة حالة الأحرف، ما يؤدي إلى أوقات بحث متطابقة تقريبًا في المجلدات التي تراعي حالة الأحرف والمجلدات التي لا تراعيها، ما يزيل الأداء البطيء للمجلدات الكبيرة من SDCardFS. يتم الآن ضبط تتبُّع الحصص التي كانت تنفذها SDCardFS لجمع بيانات التخزين للإعدادات بسرعة من مساحة المستخدم باستخدام حصص المشروع. في بعض السياقات الحسّاسة للأداء، يتم ربط الأدلة في مكانها. يقدّم الإصدار الجديد من مكتبة FUSE مساحة تخزين محدودة للوصول المباشر إلى نظام الملفات، ويهدف ذلك بشكل أساسي إلى إتاحة إخفاء معلومات الموقع الجغرافي.

ضبط وظيفة استبدال بطاقة SD

لتفعيل حصص المشاريع وطي الحالات لمساحة التخزين التي تمت محاكاتها بدون استخدام SDCardFS على جهاز يعمل بالإصدار 11 من نظام التشغيل Android أو إصدار أحدث، يجب اكتسابه من emulated_storage.mk في ملف device.mk:

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

تحذير: لا تفعل ذلك على الأجهزة التي تم تشغيلها باستخدام الإصدار 10 من نظام التشغيل Android أو إصدار أقدم، لأنّ عدم مراعاة حالة الأحرف في نظام الملفات الأصلي لا يتوافق مع إعدادات التشفير المستندة إلى الملفات المُستخدَمة على هذه الأجهزة. ومن الضروري الاستمرار في استخدام SDCardFS على هذه الأجهزة.

أسباب إيقاف واجهة برمجة التطبيقات SDCardFS نهائيًا

هناك أسباب مختلفة لإيقاف SDCardFS نهائيًا.

الثبات

يواجه ملف SDCardFS العديد من حالات السباق المتعلقة بالحساسية لحالة الأحرف، بالإضافة إلى بعض المشاكل المتعلقة بظروف انخفاض الذاكرة. يمكن أن تكون عمليات البحث التي لا تراعي حالة الأحرف بطيئة إلى حدٍ ما في الأدلة الكبيرة لأنّ عمليات البحث يجب أن تنتقل إلى الدليل الأدنى للعثور على حالات بديلة. يمكن أن يؤدي الوصول إلى ملفَي النظام العلوي والنظام السفلي في الوقت نفسه إلى حدوث مشاكل أيضًا.

تطابق المحتوى في المصدر

تتطلب SDCardFS تصحيحات إضافية لـ VFS لدعم تغيير الخيارات على منصات تثبيت الربط. تؤدي هذه الإصلاحات إلى زيادة العمل المطلوب لقبول التغييرات في الإصدارات السابقة في هذه المناطق. يمكن تكرار ميزات SDCardFS من خلال المكوّنات في المصدر، وبالتالي معالجة هذه المشكلة.

توفّر الميزات نفسها في واجهة برمجة التطبيقات

في الإصدار السابق من Android، كانت مساحة التخزين ذات النطاق الجغرافي محدودة في الوصول إلى أنواع معيّنة من البيانات الوصفية. إنّ الوصول المباشر إلى مساحة التخزين من خلال SDCardFS لا يتيح استخدام ميزات التخزين الفرعي هذه.