أخبار المنتجات

الإصدار التجريبي الرابع من Android 17

مدّة القراءة: 4 دقائق
عرض الملف الشخصي لـ "دانيال غالبين"
Daniel Galpin مسؤول علاقات المطوّرين

وصل Android 17 إلى الإصدار التجريبي 4، وهو آخر إصدار تجريبي مجدوَل في دورة الإصدار هذه، وهو إنجاز مهم لتوافق التطبيقات واستقرار المنصة. سواء كنت تعمل على تحسين تجربة المستخدم في تطبيقك، أو ضمان عرض المحتوى من الحافة إلى الحافة بسلاسة، أو الاستفادة من أحدث واجهات برمجة التطبيقات، يوفّر لك الإصدار التجريبي 4 بيئة شبه نهائية تحتاج إليها لإجراء الاختبارات. 

جهِّز تطبيقاتك ومكتباتك وأدواتك ومحركات الألعاب لديك.

إذا كنت تطوّر حزمة تطوير برامج (SDK) أو مكتبة أو أداة أو محرّك ألعاب لنظام التشغيل Android، من المهم إعداد أي تحديثات ضرورية الآن لمنع حظر مطوّري التطبيقات والألعاب التابعة لك بسبب مشاكل التوافق والسماح لهم باستهداف أحدث ميزات حزمة SDK. يُرجى إعلام المطوّرين التابعين لك إذا كانت هناك حاجة إلى إجراء تحديثات لتوفير الدعم الكامل لنظام التشغيل Android 17.

Android17_Timeline_01_V02.png

يتضمن الاختبار تثبيت تطبيقك في مرحلة الإنتاج أو تطبيق تجريبي يستخدم مكتبتك أو محرّكك باستخدام Google Play أو وسائل أخرى على جهاز أو محاكي يعمل بالإصدار التجريبي 4 من Android 17. تصفَّح جميع مسارات تطبيقك وابحث عن أي مشاكل في الوظائف أو واجهة المستخدم. يتضمّن كل إصدار من Android تغييرات في النظام الأساسي لتحسين الخصوصية والأمان وتجربة المستخدم بشكل عام. لذا، يُرجى مراجعة التغييرات في السلوك التي تؤثر في التطبيقات التي تعمل على وتستهدف الإصدار 17 من Android لتركيز الاختبارات، بما في ذلك ما يلي:

الحدود القصوى لذاكرة التطبيقات

يقدّم Android حدودًا للذاكرة المستخدَمة من التطبيقات استنادًا إلى إجمالي مساحة ذاكرة الوصول العشوائي (RAM) في الجهاز لإنشاء بيئة أكثر استقرارًا وحتمية لتطبيقاتك ومستخدمي Android. في Android 17، يتم ضبط الحدود بشكل متحفظ لوضع معايير أساسية للنظام، واستهداف حالات تسرُّب الذاكرة الشديدة وغيرها من الحالات الشاذة قبل أن تؤدي إلى عدم استقرار النظام بالكامل، ما يؤدي إلى توقُّف واجهة المستخدم واستنزاف البطارية بشكل أكبر وإغلاق التطبيقات. على الرغم من أنّنا نتوقّع أن يكون التأثير ضئيلاً في الغالبية العظمى من جلسات التطبيق، ننصحك باتّباع أفضل الممارسات التالية المتعلّقة بالذاكرة، بما في ذلك وضع حدّ أدنى للذاكرة.

في التنفيذ الحالي، ستحتوي الدالة getDescription في ApplicationExitInfo على السلسلة "MemoryLimiter" إذا تأثّر تطبيقك. يمكنك أيضًا استخدام التحليل المستند إلى المشغّلات مع TRIGGER_TYPE_ANOMALY للحصول على لقطات لأجزاء من الذاكرة يتم جمعها عند بلوغ الحدّ الأقصى للذاكرة.

unnamed (2).png
مهمة LeakCanary في أداة تحليل الأداء في "استوديو Android"

لمساعدتك في العثور على تسرّبات الذاكرة، يضيف إصدار Android Studio Panda ميزة دمج LeakCanary مباشرةً في "محلّل استوديو Android" كمهمة مخصّصة، يتم وضعها في سياق بيئة التطوير المتكاملة (IDE) ودمجها بالكامل مع الرمز المصدر.

ويؤدي تقليل استهلاك الذاكرة مباشرةً إلى أداء أكثر سلاسة وعمر بطارية أطول وتجربة متميزة على جميع أشكال الأجهزة. لنتعاون معًا لبناء مستقبل أسرع وأكثر موثوقية لمنظومة Android المتكاملة.

عوامل تشغيل جمع البيانات عن القيم الشاذة في التطبيق

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

استخدِم المشغِّل TRIGGER_TYPE_ANOMALY لرصد مشاكل أداء النظام، مثل طلبات الربط الزائدة والاستخدام المفرط للذاكرة. عندما يتجاوز تطبيق حدود الذاكرة التي يحدّدها نظام التشغيل، يتيح مشغّل القيم الشاذة للمطوّرين تلقّي لقطات لأجزاء من الذاكرة خاصة بالتطبيق للمساعدة في تحديد مشاكل الذاكرة وحلّها. بالإضافة إلى ذلك، في حال رصد عدد كبير من الرسائل غير المرغوب فيها في Binder، يوفّر مشغّل القيم الشاذة لقطة لعناصر متعدّدة من عينات عشوائية في معاملات Binder.

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

    val profilingManager = applicationContext.getSystemService(ProfilingManager::class.java)
    val triggers = ArrayList<ProfilingTrigger>()  
    triggers.add(ProfilingTrigger.Builder(
                 ProfilingTrigger.TRIGGER_TYPE_ANOMALY))
    val mainExecutor: Executor = Executors.newSingleThreadExecutor()
    val resultCallback = Consumer<ProfilingResult> { profilingResult ->
        if (profilingResult.errorCode != ProfilingResult.ERROR_NONE) {
            // upload profile result to server for further analysis          
            setupProfileUploadWorker(profilingResult.resultFilePath)
        } 
    profilingManager.registerForAllProfilingResults(mainExecutor, resultCallback)
    profilingManager.addProfilingTriggers(triggers)
}

التشفير ما بعد الكم (PQC) في Android Keystore

تمت إضافة خوارزمية ML-DSA (خوارزمية التوقيع الرقمي المعتمدة على الشبكة الوحدة) المتوافقة مع معايير المعهد الوطني للمعايير والتكنولوجيا (NIST) إلى ملف تخزين مفاتيح Android. على الأجهزة المتوافقة، يمكنك إنشاء مفاتيح ML-DSA واستخدامها لإنشاء توقيعات آمنة من الحوسبة الكمية، وذلك بالكامل في الأجهزة الآمنة. يعرض Android Keystore خوارزميتَي ML-DSA-65 وML-DSA-87 من خلال واجهات برمجة التطبيقات العادية في Java Cryptographic Architecture: KeyPairGenerator وKeyFactory وSignature. لمزيد من التفاصيل، يُرجى الاطّلاع على مستندات المطوّرين.

KeyPairGenerator generator = KeyPairGenerator.getInstance(
        “ML-DSA-65”, "AndroidKeyStore");
generator.initialize(
        new KeyGenParameterSpec.Builder(
                “my-key-alias”,
                KeyProperties.PURPOSE_SIGN | KeyProperties.PURPOSE_VERIFY)
        .build());
KeyPair keyPair = generator.generateKeyPair();

بدء استخدام Android 17

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

إذا كنت مشتركًا حاليًا في برنامج Android Beta، سيتم تقديم تحديث عبر شبكة غير سلكيّة إلى الإصدار التجريبي 4.

يُرجى مواصلة الإبلاغ عن المشاكل وإرسال طلبات الميزات في صفحة الملاحظات. كلما تلقّينا ملاحظاتك في وقت مبكر، زادت إمكانية تضمينها في عملنا على الإصدار النهائي.

للحصول على أفضل تجربة تطوير مع Android 17، ننصحك باستخدام أحدث نسخة حصرية من استوديو Android (Panda). بعد إعداد حسابك، إليك بعض الإجراءات التي يجب اتّخاذها:

  • يمكنك تجميع حزمة تطوير البرامج (SDK) الجديدة واختبارها في بيئات CI والإبلاغ عن أي مشاكل في أداة التتبُّع على صفحة الملاحظات.
  • اختبِر تطبيقك الحالي للتأكّد من توافقه مع الإصدار الجديد، وتعرَّف على ما إذا كان تطبيقك سيتأثر بالتغييرات في Android 17، وثبِّت تطبيقك على جهاز أو محاكي يعمل بنظام التشغيل Android 17 واختبِره بشكل شامل.

سنعدّل صور نظام الإصدار التجريبي/النسخة الحصرية وحزمة تطوير البرامج (SDK) بانتظام طوال دورة إصدار Android 17. بعد تثبيت إصدار تجريبي، ستتلقّى تلقائيًا التحديثات المستقبلية عبر شبكة غير سلكيّة لجميع النُسخ الحصرية والإصدارات التجريبية اللاحقة.

للحصول على معلومات كاملة، يُرجى الانتقال إلى الموقع الإلكتروني لمطوّري تطبيقات Android 17.

الانضمام إلى المحادثة

ملاحظاتك هي أهم ما لدينا. سواء كنت من المستخدمين في مرحلة مبكرة على قناة Canary أو من مطوّري التطبيقات الذين يختبرون الإصدار التجريبي 4، ننصحك بالانضمام إلى منتدياتنا وإرسال ملاحظاتك. نحن نسمعكم.

من كتابة:
متابعة القراءة