إمكانات الجهاز لمليارات المستخدمين

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

دعم أحجام شاشات متعددة

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

استخدام وحدات بكسل مستقلة الكثافة (dp)

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

اختبار النصوص والرسومات على كثافة شاشة ldpi وmdpi

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

اختبار التنسيقات على أحجام الشاشات الصغيرة والمتوسطة

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

توفير التوافق مع الأنظمة القديمة

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

ضبط targetSdkVersion وminSdkVersion بشكل مناسب

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

استخدام مكتبات دعم Android

  • يمكنك استخدام مكتبة دعم Android للتأكّد من أنّ تطبيقك يوفّر تجربة متسقة على مختلف إصدارات أنظمة التشغيل. توفر هذه المكتبة إصدارات متوافقة مع الأنظمة القديمة لواجهات برمجة تطبيقات إطار عمل Android بالإضافة إلى الميزات التي لا تتوفّر إلا من خلال واجهات برمجة تطبيقات المكتبة مثل AppCompatActivity ومكتبة دعم التصميم متعدد الأبعاد.
  • وتشمل بعض النقاط البارزة ما يلي:
    • مكتبة التوافق مع الإصدار 4 وv7: العديد من واجهات برمجة التطبيقات لإطارات عمل إصدارات Android القديمة مثل ViewPager وActionBar وRecyclerView وPalette.
    • مكتبة دعم التصميم متعدد الأبعاد: واجهات برمجة التطبيقات لإتاحة إضافة مكونات وأنماط التصميم المتعدد الأبعاد إلى تطبيقاتك.
    • مكتبة دعم Multidex: توفر الدعم للتطبيقات الكبيرة التي لديها أكثر من 65 ألف طريقة. ويمكن أن يحدث ذلك إذا كان تطبيقك يستخدم العديد من المكتبات.
  • للحصول على مزيد من المعلومات حول مكتبات الدعم المتوفرة، يمكنك الاطلاع على قسم ميزات ميزات المكتبات في موقع مطوري برامج Android.

استخدام خدمات Google Play

  • توفّر "خدمات Google Play" أفضل ما في Google APIs بغض النظر عن إصدار نظام Android الأساسي. يمكنك استخدام الميزات المتوفّرة في "خدمات Google Play" لتقديم تجربة Google الأكثر سلاسة على أجهزة Android.
  • تتضمن خدمات Google Play أيضًا واجهات برمجة تطبيقات مفيدة مثل GcmNetworkManager، والتي توفر الكثير من واجهات برمجة تطبيقات JobScheduler للإصدار 5.0 من نظام التشغيل Android للإصدارات الأقدم من Android.
  • يتم توزيع تحديثات "خدمات Google Play" تلقائيًا من خلال "متجر Google Play"، ويتم تسليم الإصدارات الجديدة من مكتبة البرامج من خلال "مدير SDK لنظام التشغيل Android".

استخدام الذاكرة بكفاءة

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

تقليل أثر الذاكرة على الأجهزة منخفضة التكلفة

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

تجنُّب العمليات طويلة الأمد

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

استخدام الذاكرة المعيارية

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

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

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

التحسين للأجهزة التي تعمل بنظام التشغيل Android (إصدار Go)

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

  • يجب أن يكون targetSdkVersion أحدث إصدار من Android. تعمل الأجهزة التي تعمل بنظام التشغيل Android (الإصدار Go) فقط بنظام التشغيل Android Oreo (API 27 أو إصدار أحدث).
  • من المفترض أن يتم تشغيل التطبيق بسلاسة على الأجهزة التي تحتوي على ذاكرة وصول عشوائي بسعة أقل من 1 غيغابايت. ضَع في اعتبارك تحسينات الذاكرة الواردة في القسم استخدام الذاكرة بكفاءة أعلاه، واستخدِم مؤشرات Android الحيوية لتحديد السلوكيات السيئة وإصلاحها، مثل العرض البطيء والتجميد. إطارات.
  • قد تكون ميزة نافذة ضمن النافذة (PIP) غير مفعّلة على الأجهزة. قبل أن يستخدم تطبيقك ميزة نافذة ضمن النافذة، يُرجى التحقّق من توفّره من خلال الاتصال بالرقم hasSystemFeature(PackageManager.FEATURE_PICTURE_IN_PICTURE).
  • يجب أن يكون حجم التطبيق على الجهاز أقل من 40 ميغابايت.
  • يجب ألا يتجاوز حجم المجموعة التناسبية (PSS) لاستخدام ذاكرة الوصول العشوائي (RAM) للتطبيق 90 ميغابايت. بالنسبة إلى الألعاب، يجب ألا يتجاوز حجم الاستفادة من ذاكرة الوصول العشوائي (RAM) للعبة PSS 150 ميغابايت. للحصول على مزيد من المعلومات حول PSS، راجع دليل التحقيق في استخدام ذاكرة الوصول العشوائي.
  • يجب أن يكون وقت بدء تشغيل التطبيق في أقل وقت ممكن وأقل من 5 ثوانٍ.
  • SYSTEM_ALERT_WINDOW (الذي يسمح للتطبيقات برسم نافذة فوق التطبيقات الأخرى) قد يتم إيقافه على أجهزة Android Go ذات ذاكرة الوصول العشوائي المنخفضة. قبل الاطّلاع على التطبيقات الأخرى، تأكّد من أنّ تطبيقك لديه هذا الإذن من خلال استدعاء Settings.canDrawOverlays(). وإذا لم يستطع تطبيقك الحصول على الإذن، يُرجى خفض حجمه بشكل أنيق. تطبيقك بحيث يمكن للمستخدم متابعة استخدامه، وربما يتم ذلك من خلال إيقاف الميزة التي تتطلب إذن SYSTEM_ALERT_WINDOW .

ننصح معظم مطوّري البرامج بتحسين تطبيقاتهم الحالية، والتي ستكون متوفّرة على جميع الأجهزة التي تعمل بنظام التشغيل Android (الإصدار Go)، لأنّ تسريع عمل التطبيق وإخفائه سيفيد الجمهور بأكمله. يمكنك استخدام ميزة APK المتعددة على Play Console لتوزيع ملف APK معيّن لأجهزة Android (الإصدار Go) ولكن يجب تنفيذ ذلك فقط بدون المساس التجربة (يجب تجنُّب إزالة الميزات). يجب أن يعلن ملف APK الذي يستهدف الأجهزة التي تعمل بنظام التشغيل Android (الإصدار Go) عن <uses-feature android:name="android.hardware.ram.low" android:required="true">، وأن يستهدف على الأقل المستوى 26 لواجهة برمجة التطبيقات، وأن يتضمن رمز إصدار أعلى من رمز إصدار APK الذي لا يتضمن إصدار Go.

مصادر إضافية

لمعرفة المزيد حول دعم مجموعة متنوعة من الأجهزة، يمكنك الاطلاع على المورد التالي:

مشاركات المدونات