Android 7.0 لمطوّري البرامج

يقدم Android 7.0 Nougat مجموعة متنوعة من الميزات والإمكانات الجديدة للمستخدمين والمطورين. يوضّح هذا المستند الميزات الجديدة للمطوّرين.

احرص على الاطّلاع على التغييرات في سلوك الإصدار 7.0 من نظام التشغيل Android للتعرّف على الجوانب التي قد تؤثر فيها تغييرات النظام الأساسي في تطبيقاتك.

لمزيد من المعلومات عن ميزات المستهلك في Android 7.0، انتقل إلى www.android.com.

دعم نوافذ متعددة

في نظام Android 7.0، نعمل على طرح ميزة جديدة لتنفيذ مهام متعددة في النظام الأساسي، وهي ميزة إتاحة النوافذ المتعددة.

يمكن للمستخدمين الآن فتح تطبيقين في نافذة منبثقة على الشاشة في وقت واحد.

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

الشكل 1. التطبيقات التي تعمل في وضع تقسيم الشاشة

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

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

لمزيد من المعلومات، يُرجى الاطّلاع على مستندات مطوّري برامج دعم النوافذ المتعددة.

تحسينات الإشعارات

في نظام التشغيل Android 7.0، أعدنا تصميم الإشعارات لجعلها أسهل وأسرع في الاستخدام. ومن بين هذه التغييرات:

  • تعديلات على النماذج: نعمل على تعديل نماذج الإشعارات للتركيز بشكل جديد على الصورة الرئيسية والصورة الرمزية. وسيتمكّن المطوّرون من الاستفادة من النماذج الجديدة مع إجراء أقل قدر من التعديلات على الرموز البرمجية الخاصة بهم.
  • تخصيص نمط المراسلة: يمكنك تخصيص المزيد من تصنيفات واجهة المستخدم المرتبطة بإشعاراتك باستخدام الفئة MessagingStyle. يمكنك ضبط عرض الرسالة وعنوان المحادثة وطريقة عرض المحتوى.
  • الإشعارات المجمَّعة: يمكن للنظام تجميع الرسائل معًا، حسب موضوع الرسالة مثلاً، وعرض المجموعة. ويمكن للمستخدم اتخاذ إجراءات بشأنها في موضع التنفيذ، مثل "الرفض" أو "الأرشفة". وإذا كنت قد نفّذت الإشعارات لـ Android Wear، ستكون على دراية بهذا النموذج.
  • الرد المباشر: بالنسبة إلى تطبيقات التواصل في الوقت الفعلي، يتيح نظام Android الردود المضمّنة حتى يتمكّن المستخدمون من الردّ بسرعة على الرسائل القصيرة SMS أو الرسائل النصية مباشرةً من خلال واجهة الإشعارات.
  • طرق العرض المخصّصة: تتيح لك واجهتا برمجة تطبيقات جديدتان الاستفادة من زخارف النظام، مثل عناوين الإشعارات وإجراءاتها، عند استخدام طرق العرض المخصّصة في الإشعارات.
جهاز جوّال يعرض إشعارات رسائل مجمّعة
جهاز جوّال يعرض إشعارًا برسالة واحدة
جهاز جوّال يعرض ردًّا مضمَّنًا على رسالة ضمن واجهة الإشعارات.

الشكل 2. الإشعارات المجمّعة والرد المباشر.

للاطّلاع على كيفية تنفيذ الميزات الجديدة، راجِع دليل الإشعارات.

تجميع JIT/AOT الإرشادي من خلال الملف الشخصي

في نظام Android 7.0، تمت إضافة برنامج التجميع أثناء التشغيل (JIT) مع الملفات الشخصية للرموز في ART، وهو ما يتيح له إمكانية تحسين أداء تطبيقات Android باستمرار أثناء تشغيلها. يُكمِّل برنامج التجميع أثناء التنفيذ (JIT) برنامج التحويل البرمجي الحالي Ahead of Time (AOT) الصادر عن ART، ويساعد في تحسين أداء وقت التشغيل، وتوفير مساحة التخزين، وتسريع تحديثات التطبيقات وتحديثات النظام.

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

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

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

المسار السريع لتثبيت التطبيق

تُعدّ سرعة عمليات تثبيت التطبيقات وتحديثات النظام إحدى أهم الفوائد الملموسة لبرنامج التجميع أثناء التشغيل (JIT) من ART. حتى التطبيقات الكبيرة التي كانت تتطلب عدة دقائق لتحسين وتثبيت Android 6.0 يمكن تثبيتها الآن في ثوانٍ معدودة. تتميّز تحديثات النظام أيضًا بسرعة أكبر، لأنّه لا حاجة إلى إجراء مزيد من الخطوات للتحسين.

قيلولة أثناء التنقل...

قدّم Android 6.0 وضع "القيلولة"، وهو وضع نظام يوفر طاقة البطارية من خلال تأجيل أنشطة وحدة المعالجة المركزية (CPU) وشبكة التطبيقات عندما يكون الجهاز في وضع عدم نشاط، مثلاً عندما يكون جالسًا على طاولة أو في درج.

الآن في Android 7.0، تتخذ ميزة "القيلولة" المزيد من التقدم وتوفير طاقة البطارية أثناء التنقل. في أي وقت يتم فيه إطفاء الشاشة لفترة زمنية مع فصل الجهاز عن مصدر الطاقة، يطبق تطبيق القيلولة على التطبيقات مجموعة فرعية من القيود المألوفة على وحدة المعالجة المركزية (CPU) والشبكة. وهذا يعني أنه يمكن للمستخدمين توفير طاقة البطارية حتى عند حمل أجهزتهم في جيوبهم.

صورة توضيحية لكيفية تطبيق ميزة "القيلولة" للمستوى الأول من قيود نشاط النظام لتحسين عمر البطارية

الشكل 3. تطبّق ميزة "القيلولة" الآن قيودًا لتحسين عمر البطارية حتى عندما لا يكون الجهاز ثابتًا.

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

عندما يكون الجهاز في وضع الثبات مرة أخرى مع إيقاف الشاشة وتشغيل البطارية لفترة زمنية، تطبّق ميزة "القيلولة" القيود الكاملة على وحدة المعالجة المركزية (CPU) والشبكة على أجهزة PowerManager.WakeLock وAlarmManager المنبّهات وعمليات البحث باستخدام نظام تحديد المواقع العالمي (GPS)/شبكة Wi-Fi.

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

مشروع Svelte: تحسينات في الخلفية

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

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

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

يتوفّر خيار آخر جيد وهو GCMNetworkManager، وهو جزء من "خدمات Google Play" يوفّر ميزة جدولة المهام نفسها بالتوافق مع إصدارات Android القديمة.

ونحن نواصل توسيع نطاق عمل JobScheduler وGCMNetworkManager لتلبية المزيد من حالات الاستخدام لديك. على سبيل المثال، في الإصدار Android 7.0، يمكنك الآن جدولة العمل في الخلفية بناءً على التغييرات في "مزوِّدي المحتوى". في الوقت نفسه، بدأنا إيقاف بعض الأنماط القديمة التي يمكن أن تحدّ من أداء النظام، خاصةً على الأجهزة ذات الذاكرة المنخفضة.

في نظام التشغيل Android 7.0، سنزيل ثلاثة عمليات بث ضمنية شائعة الاستخدام، CONNECTIVITY_ACTION وACTION_NEW_PICTURE وACTION_NEW_VIDEO، لأنّ هذه العمليات يمكن أن تؤدي إلى تنشيط العمليات في الخلفية لتطبيقات متعددة في الوقت نفسه، ما يتسبب في إجهاد الذاكرة والبطارية. وإذا كان تطبيقك يتلقّى هذه التغيُّرات، يمكنك الاستفادة من نظام التشغيل Android 7.0 لنقل البيانات إلى JobScheduler وواجهات برمجة التطبيقات ذات الصلة بدلاً من ذلك.

يمكنك إلقاء نظرة على مستند التحسينات الأساسية للحصول على التفاصيل.

SurfaceView

يوفّر نظام التشغيل Android 7.0 الحركة المتزامنة ضمن الفئة SurfaceView، ما يوفّر أداء أفضل للبطارية مقارنةً بـ TextureView في بعض الحالات: عند عرض فيديو أو محتوى ثلاثي الأبعاد، تستخدم التطبيقات التي تتضمّن موضع التمرير والفيديوهات المتحركة طاقة أقل مع SurfaceView مقارنةً بـ TextureView.

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

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

بدءًا من نظام التشغيل Android 7.0، ننصحك بشدة بتوفير الطاقة باستخدام SurfaceView بدلاً من TextureView.

توفير البيانات

توفير البيانات في الإعدادات

الشكل 4. "توفير البيانات" في "الإعدادات".

على مدار عمر الجهاز الجوّال، تتجاوز تكلفة خطة بيانات شبكة الجوّال عادةً تكلفة الجهاز نفسه. بالنسبة للعديد من المستخدمين، تعد البيانات الخلوية موردًا مكلفًا يريدون الحفاظ عليه.

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

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

يوسّع Android 7.0 نطاق ConnectivityManager لتوفير طريقة للتطبيقات من أجل استرداد الإعدادات المفضّلة لتوفير البيانات لدى المستخدم ومراقبة التغييرات في الإعدادات المفضّلة. يجب أن تتحقّق جميع التطبيقات مما إذا كان المستخدم قد فعّل "توفير البيانات" وتبذل جهدًا للحدّ من استخدام بيانات المقدّمة والخلفية.

واجهة برمجة تطبيقات Vulkan

يعمل Android 7.0 على دمج VulkanTM، وهي واجهة برمجة تطبيقات جديدة للعرض الثلاثي الأبعاد في النظام الأساسي. وعلى غرار OpenGLTM ES، يشكّل Vulkan معيارًا مفتوحًا للرسومات الثلاثية الأبعاد والعرض، وتحافظ عليه مجموعة Khronos Group.

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

يتم تضمين أدوات ومكتبات التطوير Vulkan في حزمة تطوير البرامج (SDK) لنظام التشغيل Android 7.0. وهي تشمل ما يلي:

  • الرؤوس
  • طبقات التحقق (مكتبات تصحيح الأخطاء)
  • برنامج التحويل البرمجي لتظليل SPIR-V
  • مكتبة تجميع أدوات تظليل وقت تشغيل SPIR-V

لا يتوفر Vulkan إلا للتطبيقات على الأجهزة المزوَّدة بأجهزة Vulkan، مثل Nexus 5X وNexus 6P وNexus Player. ونعمل عن كثب مع شركائنا لتوفير Vulkan على المزيد من الأجهزة في أقرب وقت ممكن.

لمزيد من المعلومات، اطّلِع على وثائق واجهة برمجة التطبيقات.

واجهة برمجة تطبيقات Tile في الإعدادات السريعة

مربّعات الإعدادات السريعة في مركز الإشعارات

الشكل 5. مربّعات الإعدادات السريعة في مركز الإشعارات

"الإعدادات السريعة" هي طريقة شائعة وبسيطة لعرض الإعدادات والإجراءات الرئيسية مباشرةً من مركز الإشعارات. في الإصدار 7.0 من نظام التشغيل Android، وسّعنا نطاق "الإعدادات السريعة" لجعله أكثر فائدة وملاءمة.

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

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

يتم تخصيص مربّعات الإعدادات السريعة لعناصر التحكّم أو الإجراءات التي تكون مطلوبة بشكل عاجل أو تُستخدم بشكل متكرّر، ولا يجب استخدامها كاختصارات لتشغيل التطبيق.

بعد تحديد مربّعاتك، يمكنك عرضها للمستخدمين الذين يمكنهم إضافتها إلى "الإعدادات السريعة" فقط عن طريق السحب والإفلات.

للحصول على معلومات عن إنشاء مربّع تطبيق، راجِع المستندات المرجعية الخاصة بـ Tile.

حظر الأرقام

يدعم Android 7.0 الآن حظر الأرقام في النظام الأساسي ويوفر واجهة برمجة تطبيقات لإطار العمل للسماح لمقدمي الخدمة بالاحتفاظ بقائمة أرقام محظورة. يمكن لتطبيق الرسائل القصيرة SMS التلقائي وتطبيق الهاتف التلقائي وتطبيقات مشغّل شبكة الجوّال القراءة من قائمة الأرقام المحظورة والكتابة إليها. لا يمكن للتطبيقات الأخرى الوصول إلى القائمة.

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

  • يتم أيضًا حظر الأرقام المحظورة في المكالمات والرسائل النصية
  • وقد تظل الأرقام المحظورة ظاهرة على جميع الأجهزة وفي عمليات إعادة الضبط من خلال ميزة "الاحتفاظ بنسخة احتياطية والاستعادة"
  • يمكن لعدة تطبيقات استخدام قائمة الأرقام المحظورة نفسها.

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

للمزيد من المعلومات، يمكنك الاطّلاع على المستندات المرجعية الخاصة بـ BlockedNumberContract.

فحص المكالمات

يسمح Android 7.0 لتطبيق الهاتف التلقائي بفحص المكالمات الواردة. ينفّذ تطبيق الهاتف ذلك من خلال تنفيذ ميزة CallScreeningService الجديدة، التي تسمح لتطبيق الهاتف بتنفيذ عدد من الإجراءات استنادًا إلى Call.Details في مكالمة واردة، مثلاً:

  • رفض المكالمة الواردة
  • عدم السماح بتلقّي المكالمات في سجلّ المكالمات
  • عدم عرض إشعار للمستخدم بالمكالمة

للمزيد من المعلومات، يمكنك الاطّلاع على المستندات المرجعية الخاصة بـ CallScreeningService.

دعم متعدد اللغات والمزيد من اللغات

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

بالإضافة إلى دعم اللغات المتعددة، يوسّع Android 7.0 أيضًا نطاق اللغات المتاحة للمستخدمين. وهو يوفر أكثر من 25 صيغة لكل لغة شائعة الاستخدام مثل الإنجليزية والإسبانية والفرنسية والعربية. وتضيف أيضًا دعمًا جزئيًا لأكثر من 100 لغة جديدة.

يمكن للتطبيقات الحصول على قائمة اللغات التي يحددها المستخدم عن طريق الاتصال بـ LocaleList.GetDefault(). لإتاحة العدد المتزايد من اللغات، سيغيّر نظام التشغيل Android 7.0 طريقة حلّ الموارد. احرص على اختبار تطبيقاتك والتأكّد من أنّها تعمل على النحو المتوقّع من خلال منطق تحليل الموارد الجديد.

لمزيد من المعلومات حول السلوك الجديد لمعالجة الموارد وأفضل الممارسات التي يجب اتّباعها، يُرجى مراجعة الدعم المتعدد اللغات.

الرموز التعبيرية الجديدة

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

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

واجهات برمجة تطبيقات ICU4J في نظام Android

يقدم نظام التشغيل Android 7.0 الآن مجموعة فرعية من واجهات برمجة تطبيقات ICU4J في إطار عمل Android ضمن حزمة android.icu. عملية نقل البيانات سهلة، ويتطلّب ذلك في الغالب التغيير من مساحة الاسم com.java.icu إلى android.icu. إذا كنت تستخدم حزمة ICU4J في تطبيقاتك، يمكن أن يؤدي التبديل إلى واجهات برمجة تطبيقات android.icu المتوفّرة في إطار عمل Android إلى توفير كبير في حجم حزمة APK.

لمعرفة المزيد من المعلومات عن واجهات برمجة تطبيقات Android ICU4J، يُرجى الاطّلاع على دعم ICU4J.

WebView

Chrome وWebView معًا

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

يمكنك اختيار موفِّر WebView من خلال تفعيل "خيارات المطوّرين" واختيار تنفيذ WebView. يمكنك استخدام أي إصدار من Chrome متوافق (إصدار تجريبي أو تجريبي أو ثابت) تم تثبيته على جهازك أو حزمة APK المستقلة من Webview، ليكون بمثابة تنفيذ WebView.

معالجة متعددة

بدءًا من الإصدار 51 من Chrome في الإصدار 7.0 من نظام التشغيل Android، سيشغِّل WebView محتوى الويب في عملية منفصلة ضمن وضع الحماية عندما يكون خيار المطوّرين "Multiprocess WebView" مفعّلاً.

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

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

تشغيل JavaScript قبل تحميل الصفحة

بدءًا من التطبيقات التي تستهدف الإصدار 7.0 من نظام التشغيل Android، ستتم إعادة ضبط سياق JavaScript عند تحميل صفحة جديدة. في الوقت الحالي، يتم نقل السياق للصفحة الأولى التي تم تحميلها في مثيل WebView جديد.

على المطوّرين الذين يسعون إلى إدخال JavaScript في WebView تنفيذ النص البرمجي بعد بدء تحميل الصفحة.

رصد الموقع الجغرافي على مصادر غير آمنة

بدءًا من التطبيقات التي تستهدف الإصدار 7.0 من نظام التشغيل Android، لن يتم السماح باستخدام واجهة برمجة التطبيقات للمواقع الجغرافية إلا على المصادر الآمنة (عبر HTTPS). تم تصميم هذه السياسة لحماية معلومات المستخدمين الخاصة عند استخدامهم لاتصال غير آمن.

الاختبار باستخدام الإصدار التجريبي من WebView

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

واجهة برمجة التطبيقات OpenGLTM ES 3.2

يضيف Android 7.0 واجهات إطار عمل ويتوافق مع النظام الأساسي OpenGL ES 3.2، بما في ذلك:

  • جميع الإضافات من حزمة إضافات Android (AEP) باستثناء EXT_texture_sRGB_decode.
  • مخازن إطارات عائمة تستخدم تقنية النطاق العالي الديناميكية والتظليل المؤجل.
  • يسحب BaseVertex طلبات البيانات لتفعيل عمليات إرسال الدفعات وبثها بشكل أفضل.
  • تحكُّم قوي في الوصول إلى المخزن المؤقت لتقليل المساحة الزائدة في WebGL

تتوفر واجهة برمجة التطبيقات لإطار العمل OpenGL ES 3.2 على نظام التشغيل Android 7.0 مع الفئة GLES32. عند استخدام OpenGL ES 3.2، احرص على توضيح المطلب في ملف البيان، وذلك باستخدام العلامة <uses-feature> والسمة android:glEsVersion.

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

تسجيل Android TV

يتيح نظام التشغيل Android 7.0 إمكانية تسجيل المحتوى وتشغيله من خدمات إدخال Android TV عبر واجهات برمجة تطبيقات التسجيل الجديدة. واستنادًا إلى واجهات برمجة التطبيقات الحالية للتحكم في الوقت، يمكن لخدمات إدخال التلفزيون التحكم في بيانات القناة التي يمكن تسجيلها، وكيفية حفظ الجلسات المُسجَّلة، وإدارة تفاعل المستخدم مع المحتوى المسجَّل.

لمزيد من المعلومات، يُرجى الاطّلاع على واجهات برمجة التطبيقات لتسجيل Android TV.

Android for Work

يضيف Android for Work العديد من الميزات وواجهات برمجة التطبيقات الجديدة للأجهزة التي تعمل بنظام Android 7.0. في ما يلي بعض الميزات المهمة. للحصول على قائمة كاملة بالميزات، يُرجى الاطّلاع على قائمة ميزات Android Enterprise.

اختبار الأمان الخاص بالملف الشخصي للعمل

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

ويمكن لمالكي الملفات التجارية ضبط سياسات رموز مرور مختلفة لتحدّي العمل (مثل المدة التي يجب إدخال رقم التعريف الشخصي خلالها أو ما إذا كان يمكن استخدام بصمة الإصبع لفتح قفل الملف الشخصي) باستخدام setPasswordQuality() وsetPasswordMinimumLength() والطرق ذات الصلة. يمكن لمالك الملف الشخصي أيضًا ضبط قفل الجهاز باستخدام المثيل DevicePolicyManager الذي تعرضه طريقة getParentProfileInstance() الجديدة. بالإضافة إلى ذلك، يمكن لمالكي الملفات الشخصية تخصيص شاشة بيانات الاعتماد لتحدي العمل باستخدام طريقتَي setOrganizationColor() وsetOrganizationName() الجديدتَين.

إيقاف العمل

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

شبكة VPN قيد التشغيل دائمًا

يمكن لمالكي الأجهزة ومالكي الملفات الشخصية ضمان اتصال تطبيقات العمل دائمًا من خلال شبكة افتراضية خاصة محددة. ويشغّل النظام شبكة VPN تلقائيًا بعد تشغيل الجهاز.

طُرق DevicePolicyManager الجديدة هما setAlwaysOnVpnPackage() و getAlwaysOnVpnPackage().

وبما أنّه يمكن ربط خدمات الشبكة الافتراضية الخاصة مباشرةً بالنظام بدون تفاعل مع التطبيقات، يحتاج عملاء الشبكة الافتراضية الخاصة إلى معالجة نقاط دخول جديدة لشبكة VPN التي يتم تشغيلها دائمًا. وكما كان الحال من قبل، تتم الإشارة إلى الخدمات للنظام من خلال إجراء مطابق لفلتر الأهداف android.net.VpnService.

يمكن للمستخدمين أيضًا ضبط برامج الشبكة الافتراضية الخاصة (VPN) التي يتم تشغيلها دائمًا يدويًا والتي تنفّذ طرق VPNService من خلال الإعدادات> المزيد> الشبكة الافتراضية الخاصة (VPN). لا يتوفّر خيار تفعيل "شبكة VPN قيد التشغيل دائمًا" من "الإعدادات" إلا إذا استهدف عميل VPN المستوى 24 من واجهة برمجة التطبيقات.

إدارة حسابات مخصّصة

يمكن للتطبيق تخصيص تدفقات إدارة الحسابات لمالك الملف الشخصي ومالك الجهاز باستخدام ألوان الشركة وشعاراتها. يخصِّص DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR لون التدفق. ويخصِّص DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI سير العملية باستخدام شعار الشركة.

تحسينات على تسهيل الاستخدام

يوفر Android 7.0 الآن "إعدادات الرؤية" مباشرةً على شاشة الترحيب لإعداد جهاز جديد. وهذا يسهِّل على المستخدمين اكتشاف ميزات إمكانية الوصول وضبطها على أجهزتهم، بما في ذلك إيماءة التكبير وحجم الخط وحجم العرض وTalkBack.

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

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

للمزيد من المعلومات، يمكنك الاطّلاع على المستندات المرجعية الخاصة بـ GestureDescription.

التشغيل المباشر

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

يستفيد التمهيد المباشر من التشفير المستند إلى الملفات في Android 7.0 لتمكين سياسات التشفير الدقيقة لكل من النظام وبيانات التطبيق. يستخدم النظام متجرًا مشفّرًا على الجهاز لمجموعة محدّدة من بيانات النظام وبيانات التطبيقات المسجَّلة بشكل صريح. يتم تلقائيًا استخدام مخزن مشفّر ببيانات الاعتماد لجميع بيانات النظام وبيانات المستخدمين والتطبيقات وبيانات التطبيقات الأخرى.

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

لمزيد من المعلومات، يُرجى الاطّلاع على التشغيل المباشر.

مصادقة المفتاح

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

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

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

للمزيد من المعلومات، يُرجى الاطّلاع على مستندات مطوّري الإقرارات الرئيسية.

تهيئة أمان الشبكة

في نظام التشغيل Android 7.0، يمكن للتطبيقات تخصيص سلوك الاتصالات الآمنة (بروتوكول HTTPS وبروتوكول أمان طبقة النقل (TLS)) بأمان وبدون أي تعديل للرموز من خلال استخدام إعداد أمان الشبكة المحدَّد بدلاً من استخدام واجهات برمجة التطبيقات التقليدية المعرضة للخطأ (مثل X509TrustManager).

الميزات المتوافقة:

  • مراسي ثقة مخصَّصة: يتيح لأحد التطبيقات تخصيص المراجع المصدقة (CA) الموثوق بها لاتصالاتها الآمنة. على سبيل المثال، الوثوق في شهادات معيَّنة موقَّعة ذاتيًا أو في مجموعة محدودة من مراجع التصديق العامة.
  • عمليات الإلغاء لتصحيح الأخطاء فقط: يتيح لمطوِّر التطبيقات تصحيح أخطاء الاتصالات الآمنة في التطبيق الخاص به بأمان بدون مخاطر إضافية على القاعدة المُثبَّتة.
  • إيقاف زيارات Clicktext: يتيح للتطبيق حماية نفسه من الاستخدام العرضي لحركة مرور بيانات واضحة.
  • تثبيت الشهادة: هي ميزة متقدّمة تتيح لأحد التطبيقات تحديد مفاتيح الخادم الموثوق بها للاتصالات الآمنة.

لمزيد من المعلومات، يُرجى الاطِّلاع على ضبط أمان الشبكة.

المرجع المصدق التلقائي الموثوق به

وفقًا للإعدادات التلقائية، لا تثق التطبيقات التي تستهدف الإصدار 7.0 إلا من نظام التشغيل Android في الشهادات التي يوفّرها النظام ولم تعد تثق في مراجع التصديق التي يضيفها المستخدم. على التطبيقات التي تستهدف الإصدار Android 7.0 (المستوى 24 من واجهة برمجة التطبيقات) والتي تريد الوثوق في مراجع التصديق التي يضيفها المستخدمون، أن تستخدم ضبط أمان الشبكة لتحديد كيفية الوثوق في مراجع التصديق (CA) للمستخدمين.

الإصدار 2 من مخطّط توقيع حزمة APK

يقدّم الإصدار Android 7.0 الإصدار الثاني من مخطّط توقيع حزمة APK، وهو مخطط جديد لتوقيع التطبيقات يوفّر أوقات تثبيت أسرع للتطبيقات وحماية أكبر من التعديلات غير المصرَّح بها في ملفات APK. بشكل تلقائي، يوقِّع الإصدار 2.2 من استوديو Android ومكوِّن Android الإضافي لبرنامج Gradle 2.2 المكوِّن الإضافي على توقيع تطبيقك باستخدام كل من الإصدار 2 من مخطّط توقيع حزمة APK ومخطط التوقيع التقليدي الذي يستخدم توقيع JAR.

ننصح بتطبيق الإصدار 2 من مخطّط توقيع حزمة APK على تطبيقك، إلّا أنّ هذا المخطط الجديد ليس إلزاميًا. إذا لم يتم إنشاء تطبيقك بشكل صحيح عند استخدام الإصدار 2 من مخطّط توقيع حزمة APK، يمكنك إيقاف المخطط الجديد. وتؤدي عملية الإيقاف إلى توقيع Android Studio 2.2 ومكوّن Android الإضافي لـ Gradle 2.2 على تطبيقك باستخدام النظام التقليدي للتوقيع فقط. لتسجيل الدخول باستخدام المخطط التقليدي فقط، افتح ملف build.gradle على مستوى الوحدة، ثم أضِف السطر v2SigningEnabled false إلى إعدادات توقيع الإصدار:

  android {
    ...
    defaultConfig { ... }
    signingConfigs {
      release {
        storeFile file("myreleasekey.keystore")
        storePassword "password"
        keyAlias "MyReleaseKey"
        keyPassword "password"
        v2SigningEnabled false
      }
    }
  }

تنبيه: إذا وقّعت تطبيقك باستخدام الإصدار 2 من مخطّط توقيع حزمة APK وأجريت تغييرات أخرى على التطبيق، سيتم إبطال توقيع التطبيق. ولهذا السبب، يُرجى استخدام أدوات مثل zipalign قبل توقيع تطبيقك باستخدام الإصدار 2 من مخطّط توقيع حزمة APK، وليس بعد توقيعه.

للحصول على مزيد من المعلومات، اطّلِع على مستندات "استوديو Android" التي توضّح كيفية توقيع تطبيق في "استوديو Android" وكيفية ضبط ملف الإصدار لتوقيع التطبيقات باستخدام مكوّن Android الإضافي لبرنامج Gradle.

الوصول المحدّد إلى الدليل

في نظام التشغيل Android 7.0، يمكن للتطبيقات استخدام واجهات برمجة تطبيقات جديدة لطلب الوصول إلى أدلة مساحة تخزين خارجية محددة، بما في ذلك الأدلة على الوسائط القابلة للإزالة مثل بطاقات SD. تبسّط واجهات برمجة التطبيقات الجديدة بشكل كبير طريقة وصول تطبيقك إلى أدلة مساحة التخزين الخارجية العادية، مثل دليل Pictures. يمكن للتطبيقات مثل تطبيقات الصور استخدام واجهات برمجة التطبيقات هذه بدلاً من استخدام READ_EXTERNAL_STORAGE، التي تمنح إمكانية الوصول إلى جميع أدلة مساحة التخزين، أو إلى "إطار عمل الوصول إلى مساحة التخزين" والذي يجعل المستخدم ينتقل إلى الدليل.

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

ولمزيدٍ من المعلومات، يُرجى الاطّلاع على مستندات مطوّري برامج الوصول النطاق إلى الدليل.

مساعد اختصارات لوحة المفاتيح

في الإصدار Android 7.0، يمكن للمستخدم الضغط على Meta + / لعرض شاشة اختصارات لوحة المفاتيح التي تعرض جميع الاختصارات المتاحة من النظام والتطبيق محل التركيز. يسترد النظام هذه الاختصارات تلقائيًا من قائمة التطبيق إذا كانت الاختصارات متوفّرة. ويمكنك أيضًا تقديم قوائم اختصارات مخصصة للشاشة. ويمكنك إجراء ذلك من خلال إلغاء الطريقة onProvideKeyboardShortcuts().

ملاحظة: لا يتوفّر المفتاح Meta في جميع لوحات المفاتيح: فهو المفتاح Command في لوحة المفاتيح التي تعمل بنظام التشغيل Macintosh، وفي لوحة المفاتيح التي تعمل بنظام التشغيل Windows، والمفتاح Windows، والمفتاح Search هو المفتاح على Pixel C ولوحات المفاتيح في ChromeOS.

لتفعيل "مساعد اختصارات لوحة المفاتيح" من أي مكان في تطبيقك، يمكنك الاتصال بـ requestShowKeyboardShortcuts() من النشاط ذي الصلة.

واجهة برمجة التطبيقات Custom Pointer

يقدّم الإصدار Android 7.0 واجهة برمجة التطبيقات Custom Pointer API التي تتيح لك تخصيص مظهر المؤشر ورؤيته وسلوكه. وهذه الإمكانية مفيدة بشكل خاص عندما يستخدم المستخدم الماوس أو لوحة اللمس للتفاعل مع كائنات واجهة المستخدم. يستخدم المؤشر الافتراضي رمزًا قياسيًا. وتشمل واجهة برمجة التطبيقات هذه أيضًا وظائف متقدّمة، مثل تغيير مظهر رمز المؤشر استنادًا إلى حركات معيّنة للماوس أو لوحة اللمس.

لضبط رمز مؤشر، يجب إلغاء طريقة onResolvePointerIcon() للفئة View. وتستخدم هذه الطريقة كائن PointerIcon لرسم رمز يقابل حدث حركة معيّن.

واجهة برمجة تطبيقات الأداء المستدام

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

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

يمكن لمطوّري التطبيقات تجربة واجهة برمجة التطبيقات الجديدة هذه في نظام التشغيل Android 7.0 على أجهزة Nexus 6P فقط. لاستخدام هذه الميزة، عليك ضبط علامة نافذة الأداء المتواصل للنافذة التي تريد تشغيلها في وضع الأداء المستدام. يمكنك ضبط هذه العلامة باستخدام طريقة Window.setSustainedPerformanceMode(). يقوم النظام بإيقاف هذا الوضع تلقائيًا عندما لا تكون النافذة محل التركيز.

دعم الواقع الافتراضي

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

في نظام التشغيل Android 7.0، يمكن لمطوّري خدمات الطباعة الآن عرض معلومات إضافية حول الطابعات ومهام الطباعة الفردية.

عند إدراج طابعات فردية، يمكن لخدمة طباعة الآن ضبط الرموز لكل طابعة بطريقتين:

بالإضافة إلى ذلك، يمكنك توفير نشاط لكل طابعة لعرض معلومات إضافية من خلال الاتصال بـ setInfoIntent().

يمكنك الإشارة إلى مستوى تقدُّم مهام الطباعة وحالتها في إشعار مهمة الطباعة من خلال طلب الرمز setProgress() وsetStatus() على التوالي.

واجهة برمجة تطبيقات مقاييس الإطار

تسمح واجهة برمجة تطبيقات Frame Metrics للتطبيق بمراقبة أداء عرض واجهة المستخدم. توفّر واجهة برمجة التطبيقات هذه الإمكانية من خلال إظهار واجهة برمجة تطبيقات Pub/Sub لبث معلومات وقت الإطار للنافذة الحالية للتطبيق. وتساوي البيانات المعروضة تلك البيانات التي يعرضها adb shell dumpsys gfxinfo framestats، ولكنّها لا تقتصر على آخر 120 إطارًا.

يمكنك استخدام Frame Metrics API لقياس أداء واجهة المستخدم على مستوى التفاعل في مرحلة الإنتاج بدون اتصال USB. وتسمح واجهة برمجة التطبيقات هذه بجمع البيانات بدقة أعلى بكثير من adb shell dumpsys gfxinfo. وتصبح هذه الدقة أعلى لأن النظام يمكنه جمع البيانات لتفاعلات معيّنة داخل التطبيق، ولا يحتاج النظام إلى الحصول على ملخص عام لأداء التطبيق بالكامل أو محو أي حالة عامة. يمكنك استخدام هذه القدرة لجمع بيانات الأداء ورصد أي تراجع في أداء واجهة المستخدم لحالات الاستخدام الحقيقية داخل التطبيق.

لمراقبة نافذة، يمكنك تنفيذ طريقة معاودة الاتصال OnFrameMetricsAvailableListener.onFrameMetricsAvailable() وتسجيلها في تلك النافذة.

توفّر واجهة برمجة التطبيقات العنصر FrameMetrics الذي يحتوي على بيانات التوقيت التي يُبلغ عنها النظام الفرعي للعرض لمراحل مختلفة ضمن دورة حياة الإطار. المقاييس المتاحة هي: UNKNOWN_DELAY_DURATION وINPUT_HANDLING_DURATION وANIMATION_DURATION وLAYOUT_MEASURE_DURATION وDRAW_DURATION وSYNC_DURATION وCOMMAND_ISSUE_DURATION وSWAP_BUFFERS_DURATION وTOTAL_DURATION وFIRST_DRAW_FRAME.

الملفات الافتراضية

في إصدارات Android السابقة، كان بإمكان تطبيقك استخدام إطار عمل الوصول إلى مساحة التخزين للسماح للمستخدمين باختيار ملفات من حساباتهم على مساحة التخزين في السحابة الإلكترونية، مثل Google Drive. ومع ذلك، لم تكن هناك طريقة لتمثيل الملفات التي لا تتضمن تمثيلاً مباشرًا لرمز بايت، إذ كان يجب توفير كل ملف لتوفير مصدر بيانات الإدخال.

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

لمزيد من المعلومات حول فتح الملفات الافتراضية، يُرجى الاطّلاع على فتح الملفات الافتراضية في دليل إطارات عمل الوصول إلى مساحة التخزين.