يقدّم نظام التشغيل Android 16 ميزات وواجهات برمجة تطبيقات جديدة ورائعة للمطوّرين. توضّح الأقسام التالية هذه الميزات لمساعدتك على البدء في استخدام واجهات برمجة التطبيقات ذات الصلة.
للحصول على قائمة مفصّلة بواجهات برمجة التطبيقات الجديدة والمعدَّلة والمحذوفة، يُرجى قراءة تقرير الاختلافات في واجهات برمجة التطبيقات. للحصول على تفاصيل حول واجهات برمجة التطبيقات الجديدة، يُرجى الانتقال إلى مرجع Android API، حيث يتم تمييز واجهات برمجة التطبيقات الجديدة لتسهيل العثور عليها.عليك أيضًا مراجعة الأقسام التي قد تؤثر فيها تغييرات النظام الأساسي في تطبيقاتك. لمزيد من المعلومات، يُرجى الاطّلاع على الصفحات التالية:
- التغييرات في السلوك التي تؤثّر في التطبيقات عند استهدافها الإصدار 16 من نظام التشغيل Android
- تغييرات في السلوك تؤثر في جميع التطبيقات بغض النظر عن
targetSdkVersion
الوظيفة الأساسية
يتضمّن Android واجهات برمجة تطبيقات جديدة توسّع الإمكانات الأساسية لنظام التشغيل Android.
إصداران من واجهة برمجة تطبيقات Android في 2025
- 此预览版适用于 Android 的下一个主要版本,计划于 2025 年第 2 季度发布。此版本与我们过去的所有 API 版本类似,我们可以进行计划性的行为更改,这些更改通常与 targetSdkVersion 相关联。
- 我们计划提前一个季度(2021 年第 2 季度,而非之前的第 3 季度)发布主要版本,以便更好地与整个生态系统中的设备发布时间表保持一致,让更多设备能够更早地搭载 Android 主要版本。由于主要版本将于第 2 季度发布,因此您需要比往年提前几个月进行年度兼容性测试,以确保您的应用已做好准备。
- 我们计划在 2025 年第 4 季度再发布一次,届时还将推出新的开发者 API。2025 年只有第二季度的主要版本包含可能影响应用的计划行为变更。
除了新的开发者 API 之外,第 4 季度次要版本还将包含功能更新、优化和 bug 修复;其中不会包含任何会影响应用的行为变更。

我们将继续每季度发布 Android 版本。在 API 版本之间,第 1 季度和第 3 季度的更新将提供增量更新,以帮助确保持续提供高质量的服务。我们正积极与设备合作伙伴合作,将 Q2 版本推广到尽可能多的设备。
在主要版本和次要版本中使用新 API
目前,使用 SDK_INT
常量与 VERSION_CODES
结合使用,即可通过检查 API 级别来保护代码块。我们将继续支持主要 Android 版本。
if (SDK_INT >= VERSION_CODES.BAKLAVA) {
// Use APIs introduced in Android 16
}
新的 SDK_INT_FULL
常量可用于针对主要版本和次要版本进行 API 检查,并使用新的 VERSION_CODES_FULL
枚举。
if (SDK_INT_FULL >= VERSION_CODES_FULL.[MAJOR or MINOR RELEASE]) {
// Use APIs introduced in a major or minor release
}
您还可以使用 Build.getMinorSdkVersion()
方法仅获取 SDK 次要版本。
val minorSdkVersion = Build.getMinorSdkVersion(VERSION_CODES_FULL.BAKLAVA)
这些 API 尚未最终确定,可能会发生变化,因此如果您有任何疑虑,请向我们发送反馈。
تجربة المستخدم وواجهة مستخدم النظام
يمنح نظام التشغيل Android 16 مطوّري التطبيقات والمستخدمين المزيد من التحكّم والمرونة في إعداد أجهزتهم بما يتناسب مع احتياجاتهم.
الإشعارات التي تركّز على مستوى التقدّم
يقدّم الإصدار 16 من نظام التشغيل Android إشعارات تركّز على مستوى التقدّم لمساعدة المستخدمين في تتبُّع الرحلات التي يبدأها المستخدمون من البداية إلى النهاية بسلاسة.
Notification.ProgressStyle
هو أسلوب إشعار
جديد يتيح لك إنشاء إشعارات تركّز على مستوى التقدّم. تشمل حالات الاستخدام الرئيسية
خدمات النقل المشترك والتوصيل والملاحة. ضمن Notification.ProgressStyle
الفئة، يمكنك الإشارة إلى الحالات والمحطّات الرئيسية في رحلة المستخدِم باستخدام
النقاط والشريح.
如需了解详情,请参阅以进度为中心的通知文档页面。


تعديلات على إيماءة الرجوع إلى الخلف التنبؤية
Android 16 添加了新 API,可帮助您在手势导航中启用预测性返回系统动画,例如“返回主屏幕”动画。通过使用新的 PRIORITY_SYSTEM_NAVIGATION_OBSERVER
注册 onBackInvokedCallback
,您的应用可以在系统处理返回导航时接收常规的 onBackInvoked
调用,而不会影响正常的返回导航流程。
Android 16 还添加了 finishAndRemoveTaskCallback()
和 moveTaskToBackCallback
。通过向 OnBackInvokedDispatcher
注册这些回调,系统可以在调用返回手势时触发特定行为并播放相应的提前动画。
تجاوب حسّي أكثر ثراءً
自诞生之日起,Android 就提供了对触感反馈致动器的控制。
Android 11 添加了对更复杂的触感反馈效果的支持,更高级的致动器可以通过设备定义的语义基元 VibrationEffect.Compositions
支持这些效果。
Android 16 添加了触感反馈 API,让应用能够定义触感反馈效果的振幅和频率曲线,同时抽象出设备功能之间的差异。
إنتاجية المطوّرين وأدواتهم
مع أنّ معظم جهودنا لتحسين إنتاجيتك تركّز على أدوات مثل استوديو Android وJetpack Compose ومكتبات Android Jetpack، إلا أنّنا نبحث دائمًا عن طرق في المنصة لمساعدتك في تحقيق أهدافك.
التعامل مع المحتوى في الخلفيات المتحركة
في الإصدار 16 من Android، سيحصل إطار عمل الخلفيات المتحركة على واجهة برمجة تطبيقات جديدة للمحتوى بهدف
معالجة تحديات الخلفيات الديناميكية التي ينشئها المستخدمون. في الوقت الحالي، تتطلّب
خلفيات الشاشة النشطة التي تتضمّن محتوى يقدّمه المستخدم تنفيذًا معقدًا
خاصًا بالخدمة. يقدّم نظام التشغيل Android 16 رمزَي emoji
WallpaperDescription
و
WallpaperInstance
. يتيح لك WallpaperDescription معرفة
حالات مختلفة من خلفية متحركة من الخدمة نفسها. على سبيل المثال، قد تتضمّن الخلفية التي تظهر على كل من الشاشة الرئيسية وشاشة القفل محتوًى فريدًا في كلا المكانَين. يستخدم أداة اختيار الخلفية وWallpaperManager
هذه البيانات الوصفية لعرض
الخلفيات بشكل أفضل للمستخدمين، ما يسهّل عليك إنشاء تجارب متنوعة
ومخصَّصة للخلفيات الحية.
الأداء والبطارية
يقدّم الإصدار Android 16 واجهات برمجة تطبيقات تساعد في جمع إحصاءات حول تطبيقاتك.
تحديد المواصفات الشخصية لصاحب البيانات من خلال النظام
تم إضافةProfilingManager
في Android 15، ما يتيح للتطبيقات طلب جمع بيانات الأداء باستخدام Perfetto على الأجهزة العامة في الميدان.
ومع ذلك، بما أنّه يجب بدء عملية وضع هذه الملفات الشخصية من التطبيق، سيكون من الصعب أو من المستحيل على التطبيقات تسجيل مسارات الأداء الحرجة، مثل عمليات بدء التشغيل أو أخطاء ANR.
للمساعدة في ذلك، يقدّم نظام التشغيل Android 16 ميزة "الملف الشخصي الذي يبدأه النظام" لتطبيق
ProfilingManager
. يمكن للتطبيقات تسجيل اهتمامها بتلقّي عمليات تتبُّع لعوامل بدء محدّدة
مثل بدء التشغيل البارد reportFullyDrawn
أو أخطاء ANR، ثم يبدأ النظام عملية تتبُّع ويوقفها نيابةً عن التطبيق. بعد اكتمال التتبُّع، يتم إرسال النتائج إلى دليل بيانات التطبيق.
بدء المكوّن في ApplicationStartInfo
ApplicationStartInfo
在 Android 15 中添加,可让应用查看进程启动原因、启动类型、启动时间、节流和其他实用诊断数据。Android 16 添加了 getStartComponent()
,用于区分触发启动的组件类型,这有助于优化应用的启动流程。
تحسين فحص المهام
JobScheduler#getPendingJobReason()
API 会返回作业可能处于待处理状态的原因。不过,作业处于待处理状态的原因可能有多种。
在 Android 16 中,我们引入了一个新 API JobScheduler#getPendingJobReasons(int jobId)
,该 API 会返回作业处于待处理状态的多种原因,包括开发者设置的显式约束条件和系统设置的隐式约束条件。
我们还引入了 JobScheduler#getPendingJobReasonsHistory(int jobId)
,用于返回最新约束条件更改的列表。
我们建议您使用该 API 来调试作业可能无法执行的原因,尤其是在您发现某些任务的成功率降低或某些作业完成延迟存在 bug 时。例如,未能在后台更新微件,或在应用启动之前未能调用预加载作业。
这还有助于您更好地了解某些作业是否因系统定义的约束条件而无法完成,而不是因明确设置的约束条件而无法完成。
معدّل التحديث التكيّفي
Android 15 中引入的自适应刷新率 (ARR) 可让受支持硬件上的显示屏刷新率使用离散的 VSync 步长来适应内容帧速率。这不仅降低了功耗,还无需进行可能导致卡顿的模式切换。
Android 16 引入了 hasArrSupport()
和 getSuggestedFrameRate(int)
,同时恢复了 getSupportedRefreshRates()
,以便您的应用更轻松地利用 ARR。RecyclerView 1.4 在从快速滑动或平滑滚动中稳定下来时会在内部支持 ARR,我们将继续努力,将 ARR 支持添加到更多 Jetpack 库中。这篇帧速率文章介绍了许多可用于设置帧速率的 API,以便您的应用可以直接使用 ARR。
واجهات برمجة تطبيقات Headroom في ADPF
SystemHealthManager
引入了 getCpuHeadroom
和 getGpuHeadroom
API,旨在为游戏和资源密集型应用提供可用 CPU 和 GPU 资源的估算值。通过这些方法,您可以评估应用或游戏如何以最佳方式改善系统运行状况,尤其是在与用于检测热节流的其他 Android 动态性能框架 (ADPF) API 搭配使用时。
在受支持的设备上使用 CpuHeadroomParams
和 GpuHeadroomParams
,您可以自定义用于计算余量的时间范围,并在平均资源可用性或最低资源可用性之间进行选择。这有助于您相应地减少 CPU 或 GPU 资源用量,从而提升用户体验并延长电池续航时间。
تسهيل الاستخدام
يضيف Android 16 ميزات وواجهات برمجة تطبيقات جديدة لتسهيل الاستخدام يمكن أن تساعدك في توفير تطبيقك لجميع المستخدمين.
واجهات برمجة تطبيقات محسَّنة لتسهيل الاستخدام
يضيف نظام التشغيل Android 16 واجهات برمجة تطبيقات إضافية لتحسين دلالات واجهة المستخدم التي تساعد في تحسين الاتساق للمستخدمين الذين يعتمدون على خدمات تسهيل الاستخدام، مثل TalkBack.
النص المفرّغ لزيادة تباين النص إلى أقصى حد
غالبًا ما يعاني المستخدمون الذين يعانون من ضعف في النظر من انخفاض في حساسية التباين، ما يجعل من الصعوبة بمكان تمييز الأجسام عن الخلفيات. لمساعدة هؤلاء المستخدمين، يقدّم الإصدار 16 من Android ميزة "النص المخطّط" الذي يحلّ محلّ ميزة "النص العالي التباين"، والذي يرسم منطقة أكبر ذات تباين أعلى حول النص لتحسين قراءته بشكل كبير.
يحتوي Android 16 على واجهات برمجة تطبيقات جديدة AccessibilityManager
للسماح لتطبيقاتك بالتحقّق أو تسجيل مستمع لتحديد ما إذا كان هذا الوضع مفعّلاً. يُستخدم هذا الأسلوب بشكل أساسي في حِزم أدوات واجهة المستخدم، مثل Compose، لتوفير تجربة مرئية مشابهة. إذا كنت تحافظ على مكتبة UI Toolkit أو كان
تطبيقك يُجري عرضًا مخصّصًا للنص يتجاوز فئة
android.text.Layout
، يمكنك استخدام هذا الإجراء لمعرفة
حالات تفعيل النص المخطّط.

تمت إضافة المدة إلى TtsSpan
يضيف الإصدار 16 من Android TtsSpan
TYPE_DURATION
،
المكوّن من ARG_HOURS
وARG_MINUTES
وARG_SECONDS
. يتيح لك ذلك إضافة تعليقات توضيحية مباشرةً إلى مدّة المحتوى، ما يضمن تحويلًا دقيقًا ومتسقًا للنص إلى كلام باستخدام خدمات مثل TalkBack.
إتاحة العناصر التي تحتوي على تصنيفات متعددة
يسمح Android حاليًا لعناصر واجهة المستخدم بالحصول على تصنيف تسهيل الاستخدام من عنصر آخر، كما يتيح الآن إمكانية ربط تصنيفات متعددة، وهو سيناريو شائع في محتوى الويب. من خلال تقديم واجهة برمجة تطبيقات مستندة إلى قائمة في
AccessibilityNodeInfo
، يمكن لنظام التشغيل Android إتاحة
هذه العلاقات المتعدّدة التصنيفات مباشرةً. وكجزء من هذا التغيير، أوقفنا نهائيًا استخدام
AccessibilityNodeInfo#setLabeledBy
و
#getLabeledBy
واستبدلناهما برمزَي
#addLabeledBy
و#removeLabeledBy
و
#getLabeledByList
.
تحسين التوافق مع العناصر القابلة للتوسيع
يضيف نظام التشغيل Android 16 واجهات برمجة تطبيقات تسهيل الاستخدام تتيح لك الإشارة إلى الحالة الموسّعة أو
المجمّعة للعناصر التفاعلية، مثل القوائم والقوائم القابلة للتوسيع. من خلال
ضبط الحالة الموسّعة باستخدام setExpandedState
و
إرسال TYPE_WINDOW_CONTENT_CHANGED AccessibilityEvents
باستخدام نوع تغيير المحتوى CONTENT_CHANGE_TYPE_EXPANDED
،
يمكنك التأكّد من أنّ برامج قراءة الشاشة، مثل TalkBack، تعلن عن
تغييرات الحالة، ما يقدّم تجربة مستخدم أكثر سهولة وشمولية.
أشرطة تقدّم غير محدّدة
يضيف نظام التشغيل Android 16 رمز RANGE_TYPE_INDETERMINATE
، ما يتيح لك
عرض RangeInfo
لكل من التطبيقات المصغّرةProgressBar
المحددة وغير المحددة، ما يسمح لخدمات مثل
TalkBack بتقديم ملاحظات بشكل أكثر اتساقًا لمؤشرات التقدّم.
مربّع اختيار ثلاثي الحالات
تتيح الطريقتان الجديدتان AccessibilityNodeInfo
getChecked
وsetChecked(int)
في Android 16 الآن حالة "تم وضع علامة جزئية" بالإضافة إلى
"تم وضع علامة" و "لم يتم وضع علامة". ويحلّ هذا النوع محلّ النوعَين المنطقيَين المتوقفَين نهائيًا
isChecked
وsetChecked(boolean)
.
الأوصاف التكميلية
عندما تصف الخدمة المخصّصة لتسهيل الاستخدام عنصر ViewGroup
، فإنّها
تضمّن تصنيفات المحتوى من عناصر العرض الثانوية. في حال تقديم contentDescription
لعنصر ViewGroup
، تفترض خدمات تسهيل الاستخدام أنّك تريد
أيضًا إلغاء وصف عناصر العرض الثانوية غير القابلة للتركيز. قد يتسبب ذلك في
مشاكل إذا أردت تصنيف عناصر مثل القائمة المنسدلة (على سبيل المثال، "عائلة
الخط") مع الحفاظ على الاختيار الحالي لتسهيل الاستخدام (على سبيل المثال،
"Roboto"). يضيف الإصدار 16 من Android setSupplementalDescription
حتى تتمكّن من تقديم نص يقدّم معلومات عن ViewGroup
بدون
إلغاء المعلومات الواردة من العناصر الفرعية.
حقول النموذج المطلوبة
يضيف نظام التشغيل Android 16 الرمز setFieldRequired
إلى
AccessibilityNodeInfo
حتى تتمكّن التطبيقات من إبلاغ خدمة تسهيل الاستخدام بأنّ إدخال البيانات في حقل النموذج مطلوب. هذا سيناريو مهم
للمستخدمين الذين يملؤون العديد من أنواع النماذج، حتى الأشياء البسيطة مثل مربّع الاختيار المطلوب
لأحكام وشروط الاستخدام، ما يساعد المستخدمين في التعرّف على الحقول المطلوبة باستمرار
والتنقّل بينها بسرعة.
استخدام الهاتف كميكروفون لإجراء مكالمات صوتية باستخدام سماعات الأذن الطبية المزودة بتقنية LEA
يضيف نظام التشغيل Android 16 إمكانية السماح لمستخدمي سمّاعات الأذن الطبية المزوّدة بتقنية LE Audio بالتبديل بين الميكروفونات المدمجة في سمّاعات الأذن الطبية والميكروفون في الهاتف لإجراء المكالمات الصوتية. يمكن أن يكون ذلك مفيدًا في البيئات الصاخبة أو في حالات أخرى قد لا تعمل فيها ميكروفونات سماعة الأذن الطبية بشكل جيد.
عناصر التحكّم في مستوى الصوت المحيط لسماعات الأذن الطبية المتوافقة مع LEA
يتيح نظام التشغيل Android 16 لمستخدمي سمّاعات الأذن الطبية التي تتضمّن تقنية LE Audio إمكانية ضبط مستوى الصوت المحيط الذي تلتقطه ميكروفونات سمّاعة الأذن الطبية. يمكن أن يكون هذا الإجراء مفيداً في الحالات التي تكون فيها الضوضاء في الخلفية صاخبة جدًا أو منخفضة جدًا.
الكاميرا
يحسِّن نظام التشغيل Android 16 إمكانية استخدام الكاميرات الاحترافية، ما يتيح التعريض التلقائي المختلط إلى جانب إجراء تعديلات دقيقة على درجة حرارة الألوان ودرجة اللون. يساعد مؤشر وضع التصوير الليلي الجديد تطبيقك في معرفة الوقت المناسب للتبديل إلى جلسة تصوير في وضع التصوير الليلي أو إيقافها. تسهّل الإجراءات الجديدة Intent
التقاط صور متحركة،
ونواصل تحسين صور UltraHDR من خلال توفير توافق مع ترميز HEIC
ومَعلمات جديدة من مسودة معيار ISO 21496-1.
التعرّض التلقائي المختلط للضوء
يضيف نظام التشغيل Android 16 أوضاعًا جديدة مختلطة للتعريض التلقائي إلى Camera2، ما يتيح لك التحكّم يدويًا في جوانب معيّنة من التعريض مع السماح لخوارزمية التعريض التلقائي (AE) بالتعامل مع الباقي. يمكنك التحكّم في درجة ISO + التعريض التلقائي ووقت التعريض + التعريض التلقائي، ما يوفّر مزيدًا من المرونة مقارنةً بالنهج الحالي الذي يتيح لك التحكّم يدوياً بالكامل أو الاعتماد بالكامل على التعريض التلقائي.
fun setISOPriority() {
// ... (Your existing code before the snippet) ...
val availablePriorityModes = mStaticInfo.characteristics.get(
CameraCharacteristics.CONTROL_AE_AVAILABLE_PRIORITY_MODES
)
// ... (Your existing code between the snippets) ...
// Turn on AE mode to set priority mode
reqBuilder.set(
CaptureRequest.CONTROL_AE_MODE,
CameraMetadata.CONTROL_AE_MODE_ON
)
reqBuilder.set(
CaptureRequest.CONTROL_AE_PRIORITY_MODE,
CameraMetadata.CONTROL_AE_PRIORITY_MODE_SENSOR_SENSITIVITY_PRIORITY
)
reqBuilder.set(
CaptureRequest.SENSOR_SENSITIVITY,
TEST_SENSITIVITY_VALUE
)
val request: CaptureRequest = reqBuilder.build()
// ... (Your existing code after the snippet) ...
}
تعديلات دقيقة على درجة حرارة الألوان ودرجة اللون
يضيف الإصدار 16 من نظام التشغيل Android ميزة ضبط درجة حرارة اللون والصبغة في الكاميرا بدقة
لتوفير دعم أفضل لتطبيقات تسجيل الفيديو الاحترافية. في الإصدارات السابقة من Android
، كان بإمكانك التحكّم في إعدادات توازن اللون الأبيض من خلال
CONTROL_AWB_MODE
، الذي يحتوي على خيارات محدودة في
قائمة مُعدّة مسبقًا، مثل مصباح متوهج،
غائم، ومغيم. يتيح الرمز
COLOR_CORRECTION_MODE_CCT
استخدام رمزَي
COLOR_CORRECTION_COLOR_TEMPERATURE
و
COLOR_CORRECTION_COLOR_TINT
لإجراء تعديلات دقيقة على
توازن اللون الأبيض استنادًا إلى درجة حرارة الألوان المرتبطة.
fun setCCT() {
// ... (Your existing code before this point) ...
val colorTemperatureRange: Range<Int> =
mStaticInfo.characteristics[CameraCharacteristics.COLOR_CORRECTION_COLOR_TEMPERATURE_RANGE]
// Set to manual mode to enable CCT mode
reqBuilder[CaptureRequest.CONTROL_AWB_MODE] = CameraMetadata.CONTROL_AWB_MODE_OFF
reqBuilder[CaptureRequest.COLOR_CORRECTION_MODE] = CameraMetadata.COLOR_CORRECTION_MODE_CCT
reqBuilder[CaptureRequest.COLOR_CORRECTION_COLOR_TEMPERATURE] = 5000
reqBuilder[CaptureRequest.COLOR_CORRECTION_COLOR_TINT] = 30
val request: CaptureRequest = reqBuilder.build()
// ... (Your existing code after this point) ...
}
توضّح الأمثلة التالية كيف ستبدو الصورة بعد تطبيق تعديلات مختلفة على درجة حرارة اللون والصبغة:





رصد المشاهد في "الوضع الليلي" للكاميرا
لمساعدة تطبيقك في معرفة وقت التبديل إلى جلسة الكاميرا في الوضع الليلي والخروج منها،أضافت الإصدار 16 من Android EXTENSION_NIGHT_MODE_INDICATOR
. إذا كان CaptureResult
متاحًا، يمكنك العثور عليه في Camera2.
هذه هي واجهة برمجة التطبيقات التي ذكرناها بشكل موجز في منشور المدوّنة كيف سمحت منصة Instagram للمستخدمين بالتقاط صور رائعة في الإضاءة المنخفضة. هذه المشاركة هي دليل عملي حول كيفية استخدام وضع "الليل" بالإضافة إلى دراسة حالة تربط بين الصور العالية الجودة في وضع "الليل" داخل التطبيق وزيادة عدد الصور التي تتم مشاركتها من الكاميرا داخل التطبيق.
إجراءات intent لالتقاط صور حيّة
Android 16 添加了标准 intent 操作 ACTION_MOTION_PHOTO_CAPTURE
和 ACTION_MOTION_PHOTO_CAPTURE_SECURE
,用于请求相机应用拍摄动态照片并将其返回。
您必须传递额外的 EXTRA_OUTPUT
来控制将图片写入的位置,或者通过 Intent.setClipData(ClipData)
传递 Uri
。如果您未设置 ClipData
,系统会在调用 Context.startActivity(Intent)
时将其复制到该位置。
تحسينات على صور UltraHDR

Android 16 继续致力于通过 UltraHDR 图片提供出色的图片质量。它添加了对 HEIC 文件格式的 UltraHDR 图片的支持。这些图片将获得 ImageFormat
类型 HEIC_ULTRAHDR
,并包含类似于现有 UltraHDR JPEG 格式的嵌入式增益图。我们还在努力为 UltraHDR 添加 AVIF 支持,敬请期待。
此外,Android 16 在 UltraHDR 中实现了 ISO 21496-1 草稿标准中的其他参数,包括能够获取和设置应应用增益图算法的色彩空间,以及支持使用 SDR 增益图的 HDR 编码基础图片。
الرسومات
يتضمّن Android 16 أحدث التحسينات على الرسومات، مثل التأثيرات الرسومية المخصّصة باستخدام AGSL.
تأثيرات رسومية مخصّصة باستخدام AGSL
Android 16 添加了 RuntimeColorFilter
和 RuntimeXfermode
,让您可以创作阈值、Sepia 和 Hue Saturation 等复杂效果,并将其应用于绘制调用。从 Android 13 开始,您可以使用 AGSL 创建扩展 Shader
的自定义 RuntimeShader。新 API 反映了这一点,添加了由 AGSL 驱动的 RuntimeColorFilter
(用于扩展 ColorFilter
)和 Xfermode
效果,让您可以在源像素和目标像素之间实现基于 AGSL 的自定义合成和混合。
private val thresholdEffectString = """
uniform half threshold;
half4 main(half4 c) {
half luminosity = dot(c.rgb, half3(0.2126, 0.7152, 0.0722));
half bw = step(threshold, luminosity);
return bw.xxx1 * c.a;
}"""
fun setCustomColorFilter(paint: Paint) {
val filter = RuntimeColorFilter(thresholdEffectString)
filter.setFloatUniform(0.5);
paint.colorFilter = filter
}
إمكانية الاتصال
يحدِّث Android 16 النظام الأساسي لمنح تطبيقك إمكانية الوصول إلى أحدث التطورات في تكنولوجيات الاتصال والشبكات اللاسلكية.
تحديد المدى مع مستوى أمان محسّن
Android 16 在搭载 Wi-Fi 6 的 802.11az 的受支持设备上为 Wi-Fi 位置信息添加了对强大的安全功能的支持,让应用能够将该协议的更高精确性、更高可伸缩性和动态调度与安全增强功能(包括基于 AES-256 的加密和防范中间人攻击)相结合。这样,在近距离使用情形(例如解锁笔记本电脑或车门)时,便可更安全地使用该功能。802.11az 与 Wi-Fi 6 标准集成,可利用其基础架构和功能实现更广泛的采用和更轻松的部署。
واجهات برمجة التطبيقات العامة لتحديد النطاق
يتضمّن نظام Android 16 RangingManager
الجديد الذي يوفّر
طُرقًا لتحديد المسافة والزاوية على الأجهزة المتوافقة بين
الجهاز المحلي
والجهاز البعيد. يتيح RangingManager
استخدام مجموعة متنوعة من تكنولوجيات تحديد المسافة، مثل قياس طاقة قناة BLE وتحديد المسافة بالاستناد إلى مؤشر RSSI في BLE وUltrawideband ووقت الرحلة ذهابًا وإيابًا عبر شبكة Wi-Fi.
توفّر الجهاز المصاحب في "أداة إدارة الأجهزة المصاحبة"
Android 16 中引入了用于绑定配套应用服务的新 API。当 BLE 在范围内且蓝牙处于连接状态时,系统会绑定服务;当 BLE 不在范围内或蓝牙处于断开连接状态时,系统会解除绑定服务。应用将根据各种 DevicePresenceEvent
收到新的 'onDevicePresenceEvent()' 回调。如需了解详情,请参阅 'startObservingDevicePresence(ObservingDevicePresenceRequest)'。
الوسائط
يتضمّن Android 16 مجموعة متنوعة من الميزات التي تحسّن تجربة استخدام الوسائط.
تحسينات على أداة اختيار الصور
توفّر أداة اختيار الصور طريقة آمنة ومضمّنة للمستخدمين لمنح تطبيقك إذن الوصول إلى صور وفيديوهات محدّدة من التخزين على الجهاز والسحابة الإلكترونية بدلاً من الوصول إلى مكتبة الوسائط بأكملها. باستخدام مجموعة من مكوّنات النظام النموذجية من خلال تحديثات النظام من Google وخدمات Google Play، يمكن استخدام هذه الميزة في الإصدار Android 4.4 (المستوى 19 من واجهة برمجة التطبيقات) والإصدارات الأقدم. لا يتطلّب الدمج سوى بضعة أسطر من الرموز البرمجية مع مكتبة Android Jetpack المرتبطة.
يتضمّن نظام التشغيل Android 16 التحسينات التالية على أداة اختيار الصور:
- أداة اختيار الصور المضمّنة: واجهات برمجة تطبيقات جديدة تتيح للتطبيقات تضمين أداة اختيار الصور في التسلسل الهرمي للعرض ويسمح ذلك للمستخدمين بالشعور بأنّه جزء أكثر تكاملاً من التطبيق مع الاستفادة من عملية العزل التي تسمح للمستخدمين باختيار الوسائط بدون أن يحتاج التطبيق إلى أذونات واسعة النطاق. لزيادة التوافق إلى أقصى حدّ على مستوى إصدارات النظام الأساسي و تبسيط عملية الدمج، عليك استخدام مكتبة Android Jetpack القادمة إذا كنت تريد دمج أداة اختيار الصور المضمّنة.
- البحث في السحابة الإلكترونية في أداة اختيار الصور: واجهات برمجة تطبيقات جديدة تتيح البحث من موفِّر وسائط السحابة الإلكترونية لأداة اختيار الصور على Android ستتوفّر قريبًا وظيفة البحث في أداة اختيار الصور.
فيديو احترافي متقدّم
Android 16 引入了对高级专业视频 (APV) 编解码器的支持,该编解码器专为专业级高品质视频录制和后期制作而设计。
APV 编解码器标准具有以下特点:
- 感知上无损的视频画质(接近原始视频画质)
- 复杂度低且吞吐量高的仅帧内编码(无像素域预测),以更好地支持编辑工作流
- 支持高比特率范围(最高几十 Gbps),适用于 2K、4K 和 8K 分辨率内容,由轻量级熵编码方案实现
- 帧平铺,用于沉浸式内容和启用并行编码和解码
- 支持各种色度采样格式和位深
- 支持多次解码和重新编码,且不会严重降低视觉质量
- 支持多视图视频和辅助视频,例如深度、Alpha 和预览
- 支持 HDR10/10+ 和用户定义的元数据
OpenAPV 项目提供了 APV 的参考实现。Android 16 将实现对 APV 422-10 配置文件的支持,该配置文件提供 YUV 422 色彩采样以及 10 位编码,并且目标比特率最高可达 2 Gbps。
الخصوصية
يتضمّن Android 16 مجموعة متنوّعة من الميزات التي تساعد مطوّري التطبيقات في حماية خصوصية المستخدمين.
تحديثات Health Connect
يضيف Health Connect ACTIVITY_INTENSITY
، وهو نوع بيانات محدّد وفقًا لإرشادات منظمة
الصحة العالمية حول النشاط المعتدل والقوي. يتطلّب كل تسجيل معرفة وقت البدء والانتهاء وما إذا كانت شدة النشاط معتدلة أو قوية.
يحتوي Health Connect أيضًا على واجهات برمجة تطبيقات معدَّلة تتيح استخدام السجلّات الطبية. يتيح ذلك للتطبيقات قراءة السجلات الطبية وكتابتها بتنسيق FHIR بعد الحصول على موافقة صريحة من المستخدم.
"مبادرة حماية الخصوصية" على Android
Android 16 中集成了最新版本的 Privacy Sandbox on Android,这是我们持续致力于开发可让用户放心地知道其隐私受到保护的技术的一部分。您可以访问我们的网站,详细了解 Privacy Sandbox on Android 开发者 Beta 版计划,以便顺利上手。不妨了解 SDK 运行时,它可让 SDK 在与其所服务的应用分离的专用运行时环境中运行,从而为用户数据收集和共享提供更强的保护措施。
الأمان
يتضمّن Android 16 ميزات تساعدك في تعزيز أمان تطبيقك وحماية بياناته.
Key sharing API
Android 16 添加了一些 API,这些 API 支持与其他应用共享对 Android Keystore 密钥的访问权限。新的 KeyStoreManager
类支持按应用 uid 授予和撤消对密钥的访问权限,并包含一个供应用访问共享密钥的 API。
أشكال الأجهزة
يوفّر Android 16 لتطبيقاتك إمكانية الاستفادة إلى أقصى حد من أشكال أجهزة Android.
إطار عمل موحّد لجودة الصورة والصوت في أجهزة التلفزيون
Android 16 中的新 MediaQuality
软件包公开了一组标准化 API,用于访问音频和图片配置文件以及与硬件相关的设置。这样,在线播放应用就可以查询配置文件并将其动态应用于媒体:
- 使用更大动态范围进行母版制作的电影需要更高的色彩准确度,才能看清阴影中的细微细节并根据环境光线进行调整,因此,最好使用色彩准确度优先于亮度的配置文件。
- 体育赛事直播通常采用较窄的动态范围进行母版制作,但通常是在白天观看,因此偏向亮度而非色彩准确度的配置文件可以获得更好的效果。
- 完全交互式内容需要尽可能减少处理以缩短延迟时间,并且需要更高的帧速率,因此许多电视都附带游戏配置文件。
借助此 API,应用可以在个人资料之间切换,用户可以享受调整支持的电视,以便尽可能适合其内容。
التوافق مع أسواق عالمية
يضيف نظام التشغيل Android 16 ميزات وإمكانات تكمل تجربة المستخدم عند استخدام الجهاز بلغات مختلفة.
نص عمودي
يضيف نظام Android 16 دعمًا من المستوى الأدنى لعرض النص وقياسه عموديًا بهدف
توفير دعم أساسي للكتابة العمودية لمطوّري المكتبات. ويفيد ذلك
بشكل خاص في اللغات التي تستخدم عادةً أنظمة كتابة عمودية، مثل اليابانية. تمت إضافة علامة جديدة،
VERTICAL_TEXT_FLAG
،
إلى فئة Paint
. عند ضبط
هذا الإعداد باستخدام
Paint.setFlags
، ستحدّد واجهات برمجة التطبيقات
لقياس النصوص في Paint التقدّم في الرسم بالاتجاه العمودي بدلاً من التقدّم في الرسم بالاتجاه الأفقي، وسيرسم Canvas
النص
بالاتجاه العمودي.
val text = "「春は、曙。」"
Box(
Modifier.padding(innerPadding).background(Color.White).fillMaxSize().drawWithContent {
drawIntoCanvas { canvas ->
val paint = Paint().apply { textSize = 64.sp.toPx() }
// Draw text vertically
paint.flags = paint.flags or VERTICAL_TEXT_FLAG
val height = paint.measureText(text)
canvas.nativeCanvas.drawText(
text,
0,
text.length,
size.width / 2,
(size.height - height) / 2,
paint
)
}
}
) {}
تخصيص نظام القياس
用户现在可以在“设置”中的地区偏好设置中自定义测量系统。用户偏好设置包含在语言区域代码中,因此您可以在 ACTION_LOCALE_CHANGED
上注册 BroadcastReceiver
,以便在地区偏好设置发生更改时处理语言区域配置更改。
使用格式设置程序有助于提供符合当地体验的服务。例如,对于将手机设置为英语(丹麦)或将手机设置为英语(美国)并将公制作为首选测量系统的用户,“0.5 in”的英语(美国)对应于“12,7 mm”。
如需找到这些设置,请打开“设置”应用,然后依次前往系统 > 语言和地区。