Rovo89: تحديث حول تطوير Xpose لنظام Nougat

قدم مطور Xpose Rovo89 نظرة ثاقبة حول الوضع الحالي لـ Xpose لـ Nougat. توجه لتعرف لماذا يستغرق التحديث كل هذا الوقت!

السبب وراء استمراري شخصيًا في استخدام Android 6.0 Marshmallow على جهازي ون بلس 3، بالرغم من OnePlus تطرح تحديث Nougat بالنسبة للهاتف قنوات مستقرة، هو وجود Xpose. يشكل إطار عمل Xpose والنظام البيئي للوحدة جزءًا مهمًا من تجربة Android التي أفضّلها - لدرجة أنني على استعداد للتخلي عن آخر تحديث لنظام التشغيل من الشركة المصنعة الأصلية فقط لتذوق هذا الحلو فاكهة.

على الرغم من أن Xpose for Nougat يستغرق بعض الوقت حتى يأتي، والبعض منا لا يمانع في الانتظار أكثر من ذلك، فهو كذلك لقد كان بعض الوقت منذ أن سمعنا آخر مرة عن التقدم المحرز في المشروع.

مطور XDA المعترف به روفو89 استغرق بعض الوقت ل ابلغنا حول الوضع الحالي فيما يتعلق بمشروع Xpose for Nougat:

"يبدو أن المزيد والمزيد من الناس يشعرون بالقلق بشأن ما إذا كان (ومتى) سيكون هناك Xpose لـ Nougat أم لا، لذلك شعرت أنني يجب أن أقول شيئًا ما.

لماذا يستغرق هذا الوقت الطويل؟ لأنه مع كل إصدار، أحاول التأكد من أن Xpose يتكامل بشكل جيد مع التحسينات في إصدار ART الجديد. لم تكن الخطوة من Lollipop إلى Marshmallow كبيرة. لقد كان تطورًا، حتى أن بعض الأشياء جعلت من الممكن دمج Xpose بطريقة أكثر أناقة. على العموم، كان الأمر في الأساس عبارة عن نقل دقيق وليس ابتكارًا.

مع Nougat، تغير شيء أساسي. إذا كنت تستخدم Nougat بالفعل، فستلاحظ أن عمليات التثبيت أصبحت أسرع بكثير الآن. وذلك لأن ملفات APK لا يتم تجميعها على الفور (AOT)، ولكنها تبدأ في وضع الترجمة (أبطأ). يبدو الأمر سيئًا، لكنهم قاموا بتمكين JIT، والذي سيجمع بسرعة تلك الأساليب التي يتم استخدامها كثيرًا. سيؤدي ذلك إلى استعادة الأداء المعروف والمتحسن باستمرار للتعليمات البرمجية الأصلية. بالإضافة إلى ذلك، تحتفظ ART بقائمة من هذه الطرق المستخدمة بشكل متكرر ("التنميط"). عندما يكون الجهاز خاملاً، فإنه يقوم أخيرًا بتجميع AOT، ولكن بناءً على بيانات ملفات التعريف. وبعد ذلك، ستحصل على الأداء الرائع مباشرة بعد تشغيل التطبيق. لا يزال JIT ينتظر في حالة تغيير أنماط الاستخدام، وأعتقد أنه سيقوم أيضًا بتعديل الملف الشخصي وتحسين تجميع AOT.

وينتج عن ذلك حالات تجميع مختلفة ومزيد من التعقيد. بالإضافة إلى ذلك، كانت هناك العديد من المشكلات في الماضي بسبب حاجة Xpose إلى إعادة ترجمة ذاكرة القراءة فقط (ROM) بالكامل وجميع التطبيقات: وقد تسبب ذلك في بعض الأحيان في حدوث حلقات تمهيد عندما كانت ملفات Odex تم تحسينه مسبقًا بشكل كبير جدًا، مما أدى إلى حظر بعض مساحة التخزين لتخزين الملفات المعاد ترجمتها، وكنت بحاجة إلى تعطيل بعض التحسينات مثل التضمين والمؤشر المباشر المكالمات. آمل أن أتمكن من الاستفادة من مترجم JIT لتجنب ذلك في Nougat. إذا عرف Xpose من مكان استدعاء الطريقة، فقد يؤدي ذلك إلى إبطال صلاحية التعليمات البرمجية المجمعة للمتصلين، بحيث يستخدمون المترجم مؤقتًا. إذا كانت مهمة بما فيه الكفاية، فسوف يقوم JIT بإعادة تجميعها.

لقد قمت بالفعل بالكثير من الأبحاث والتجارب لهذا الغرض وأحاول حاليًا تنفيذ ذلك. ولكن كما يمكنك أن تتخيل، كل ذلك يتطلب الكثير من الجهد ويمكن أن يستغرق بسهولة مئات الساعات..."

المشكلة الرئيسية، كما هو الحال عادةً في مشاريع الهواة، هي تخصيص الوقت، ونحن نفهم من أين يأتي rovo89. حتى في ظل مشروع Xpose الحالي، فهو يتضمن شهورًا من الجهود من مختلف المطورين للمساعدة في تمكين المستخدم النهائي من الاستمتاع بهذه الطريقة البسيطة والقابلة للتوزيع.

وكما يقولون، لم يتم بناء روما في يوم واحد، بل تم وضع الطوب كل ساعة:

لذا، نعم، مازلت أعمل على دعم Nougat، عندما يسمح وقت فراغي بذلك، لكن ليس لدي أي فكرة عن متى سيتم ذلك. بمجرد الانتهاء من ذلك، ستعرف.

Android ليس مثاليًا وXpose هو ما يسمح لنا بإصلاح ما لم يتمكن المطور الأصلي من إصلاحه. يستمر انتظار الإصلاح النهائي لنظام Android على أحدث نظام تشغيل، ونتمنى لـ rovo89 حظًا سعيدًا من جانبنا.

يمكنكم قراءة البيان كاملا في مشاركة المنتدى. هل تنتظر Xpose أيضًا؟ اسمحوا لنا أن نعرف في التعليقات!