اعتبارًا من 27 آذار (مارس) 2025، ننصحك باستخدام android-latest-release
بدلاً من aosp-main
لإنشاء AOSP والمساهمة فيه. لمزيد من المعلومات، يُرجى الاطّلاع على التغييرات في AOSP.
تقييم الأجهزة
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
يقدّم تقييم الأجهزة خصائص كمية لثلاثة تأثيرات مقترَحة
لللمس يتم تحليل عيّنات منها باستخدام الطرق الشائعة المستخدَمة لتشغيل تقنية لمس الشاشة. في نهاية التقييم، يمكن تطبيق الأداء من كل جهاز لكل تأثير لمسي مستهدَف على خريطة الأداء بهدف استخلاص النتائج.
تعرض خريطة الأداء نتائج تقييم الأجهزة من عدة أجهزة Android حالية. والهدف هو تقييم الجهاز المستهدَف باستخدام مقارنة نسبية
سياقية (بدلاً من إصدار حكم بالنجاح أو الفشل). في ما يلي أسئلة محدّدة
منصّمة حول هذا المفهوم: نظرًا لفئة السعر و
نوع المحرّك في هاتفي، كيف يكون الأداء مقارنةً بالمنافسين؟ هل تلبّي
النتائج توقّعاتي؟ إذا لم يكن الأمر كذلك، ما هي الجوانب التي تحتاج إلى تحسين؟
الشكل 1: نظرة عامة على عملية تقييم الأجهزة المزوّدة بتقنية لمس haptics
يرصد التقييم نتائج ثلاث طرق في إطار عمل اللمس المرئي
في Android.
التأثير 1: قيم ثابتة قصيرة محدّدة مسبقًا لللمس
VibrationEffect.EFFECT_CLICK
هذا الثابت هو التأثير الأساسي أو القاسم المشترك في ربط HAL-API
المقدَّم في
تعيين الثوابت بين HAL وواجهة برمجة التطبيقات.
ويتم ربطه بالتأثير الأكثر استخدامًا
HapticFeedbackConstants.KEYBOARD_PRESS
.
يساعدك تقييم هذا التأثير في تحديد مدى جاهزية
الجهاز المستهدَف لتوفير
لمسات حسية واضحة.
التأثير 2: تأثير لمسي مخصّص قصير
VibrationEffect.createOneShot(20,255)
بالنسبة إلى النبضات المخصّصة القصيرة الفردية، يكون 20 ملي ثانية هو الحد الأقصى المُقترَح
للحدّ من المدة. لا يُنصح باستخدام نبضة واحدة تزيد مدتها عن 20 ملي ثانية
لأنّها تُعتبر
اهتزازًا صاخبًا.
الشكل 2: تأثير لمسي مخصّص قصير
التأثير 3: تأثير لمسي مخصّص طويل مع اختلاف في الشدة
VibrationEffect.createWaveform(timings[], amplitudes[], int repeat)
إنّ القدرة على إنتاج نطاقات متفاوتة للتأثيرات الحسية المخصّصة هي أحد
المؤشرات لتقييم إمكانات الجهاز في استخدام
التأثيرات الحسية الغنية.
timings [ ]
وamplitudes [ ]
المقترَحان هما {500, 500}
و
{128, 255}
، على التوالي. يعرض هذا الرسم البياني مؤشرًا متزايدًا للسعة من
50% إلى 100% بمعدّل أخذ عينات يبلغ 500 ملي ثانية.
الشكل 3: تأثير لمسي مخصّص طويل مع اختلاف في الشدة
للتحقّق سريعًا من إمكانات الأجهزة للتحكّم في الشدة للتأثير 3،
جرِّب
Vibrator.hasAmplitudeControl()
.
يجب أن تكون النتيجة true
لتنفيذ
VibrationEffect.createWaveform
بسعة متغيرة على النحو المطلوب.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-07-27 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Hardware assessment\n\nThe hardware assessment delivers quantitative characteristics of three target\nhaptic effects sampled by common methods used to call haptics. At the end of the\nassessment, performance from each device for each target haptic effect can be\napplied to the [performance map](/docs/core/interaction/haptics/compare) to\ndraw conclusions.\n\nThe performance map shows the hardware assessment results from several current\nAndroid devices. The goal is to evaluate the target device using a contextually\nrelative comparison (rather than a pass or fail judgement). Specific questions\nstructured around that notion are: *Given the price tier and\nactuator type of my phone, how is the performance compared to my competitors? Do\nthe results meet my expectations? If not, what needs improvement?*\n\n**Figure 1.** Haptics hardware assessment process overview\n\nThe assessment observes the results of three methods in the Android haptic\nframework.\n\n### Effect 1: Predefined short haptic constants\n\n[`VibrationEffect.EFFECT_CLICK`](https://developer.android.com/reference/android/os/VibrationEffect.html#EFFECT_CLICK)\n\nThis constant is the baseline effect or common denominator in the HAL-API\nmapping provided in\n[Map constants between HAL and API](/docs/core/interaction/haptics/haptics-map-constants).\nIt's mapped with the most commonly used effect\n[`HapticFeedbackConstants.KEYBOARD_PRESS`](https://developer.android.com/reference/android/view/HapticFeedbackConstants#KEYBOARD_PRESS).\nAssessing this effect helps you determine the readiness of your\ntarget device for\n[clear haptics](/docs/core/interaction/haptics/haptics-ux-foundation#clear-haptics).\n\n### Effect 2: Short custom haptic effect\n\n[`VibrationEffect.createOneShot(20,255)`](https://developer.android.com/reference/android/os/VibrationEffect#createOneShot(long,%20int))\n\nFor short single custom impulses, 20 ms is the recommended maximum\nthreshold to define duration. A single impulse that's longer than 20 ms\nisn't recommended because it's perceived as a\n[buzzy vibration](/docs/core/interaction/haptics/haptics-ux-foundation#buzzy-vibration).\n\n**Figure 2.** Short custom haptic effect\n\n### Effect 3: Long custom haptic effect with amplitude variation\n\n[`VibrationEffect.createWaveform(timings[], amplitudes[], int repeat)`](https://developer.android.com/reference/android/os/VibrationEffect#createWaveform(long%5B%5D,%20int%5B%5D,%20int))\n\nThe ability to produce varying amplitudes for custom haptic effects is one of\nthe indicators to evaluate the device's capabilities for\n[rich haptics](/docs/core/interaction/haptics/haptics-ux-foundation#rich-haptics).\nThe recommended `timings [ ]` and `amplitudes [ ]` are `{500, 500}` and\n`{128, 255}`, respectively. This presents an increasing trend of amplitude from\n50% to 100% with a 500 ms sampling rate.\n\n**Figure 3.** Long custom haptic effect with amplitude variation\n\nTo quickly check the hardware capabilities of amplitude control for Effect 3,\ntry\n[`Vibrator.hasAmplitudeControl()`](https://developer.android.com/reference/android/os/Vibrator#hasAmplitudeControl()).\nThe result has to be `true` to execute\n[`VibrationEffect.createWaveform`](https://developer.android.com/reference/android/os/VibrationEffect#createWaveform(long%5B%5D,%20int%5B%5D,%20int))\nwith varying amplitude as intended."]]