نظرة عامة على Memory Advice API

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

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

تتضمّن موارد الذاكرة المقدَّرة ذاكرة كومة كبيرة أصلية مُخصّصة من خلال علامة تخصيص الوظائف، وذاكرة الرسومات المخصّصة من خلال واجهات برمجة تطبيقات OpenGL ES وVulkan Graphics، ما يجعل واجهة برمجة التطبيقات Memory Advice API مثالية للألعاب والتطبيقات التي تستخدم أساليب مكثفة في تحميل الرسومات.

يتم إجراء التقديرات وفقًا لما يلي:

  • مقاييس الأجهزة التي تجمعها واجهة برمجة التطبيقات
  • بيانات تعلُّم الآلة من الأجهزة
  • اختبار الجهاز

على مستوى واجهة برمجة التطبيقات، تحدِّد Memory Advice API مجموعة من حالات نصائح الذاكرة وتنقلها إلى التطبيقات من خلال مجموعة من الدوال.

البدء بدء استخدام ألعاب Unity

قنوات التوزيع

تعد Memory Advice API جزءًا من مجموعة أدوات تطوير ألعاب Android (AGDK)، ويتم توزيعها من خلال القنوات التالية:

يجب أن تستخدم الألعاب إصدار Memory Advice API المقترَح لبيئة التصميم الخاصة بها. بالنسبة إلى استوديو Android، ننصح باستخدام إصدار Jetpack. بالنسبة إلى إضافة تطوير ألعاب Android (AGDE)، نقترح استخدام الإصدار على صفحة تنزيل AGDK.

الميزات

يوضّح هذا القسم ميزات Memory Advice API.

حالة الذاكرة

تُبلغ واجهة برمجة التطبيقات عن حالات الذاكرة التالية للتطبيقات:

  • MEMORYADVICE_STATE_OK
  • MEMORYADVICE_STATE_APPROACHING_LIMIT
  • حالة الذاكرة

لمعرفة التفاصيل، يُرجى الاطّلاع على الصفحات المرجعية memoryadvice_memorystate.

الإبلاغ عن حالة الذاكرة

تتيح واجهة برمجة التطبيقات الإبلاغ عن حالة الذاكرة إما من خلال استطلاع أو آلية معاودة الاتصال:

  • استطلاعات الرأي:
    يمكن للتطبيق طلب بيانات من واجهة برمجة التطبيقات في أي وقت لاسترداد حالة الذاكرة.

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

اعتبارات التكلفة وعدد مرات الاتصال

تَستخدم واجهة برمجة التطبيقات Memory Advice API الوقت الحاسوبي لإنشاء حالة الذاكرة. تختلف التكلفة حسب الجهاز، ولكن تتراوح عادةً بين 1 ملي ثانية و3 ملي ثانية لكل مكالمة. يجب أن تفكر في هذا النفقات العامة عند تحديد عدد مرات الاستطلاع في حالة الذاكرة، أو ما التردد الذي ينبغي تحديده لاستدعاء حالة الذاكرة.

المتطلبات الأساسية

متطلبات الجهاز

  • Android 4.4 (المستوى 19 لواجهة برمجة التطبيقات) أو إصدار أحدث.

متطلبات التطبيق

  • لا تتوافق واجهة برمجة التطبيقات إلا مع التطبيقات الأصلية (التطبيقات المكتوبة بلغة C/C++ بشكل أساسي).

  • لا تتوافق واجهة برمجة التطبيقات إلا مع الأجهزة المادية، ولا تتوافق المحاكيات مع هذه الميزة.

متطلبات إصدار NDK

يتوافق إصدار Memory Advice API مع معظم إصدارات NDK الرائجة، ويمكنك الرجوع إلى ملاحظات الإصدار للاطّلاع على قائمة ملفات NDK المتوافقة.

مراجع إضافية

المشاكل والملاحظات

تتوفّر Memory Advice API في إصدار تجريبي، وترحّب بالملاحظات والآراء. إذا كانت لديك اقتراحات أو واجهت مشاكل أثناء استخدام واجهة برمجة التطبيقات، يمكنك إنشاء مشكلة في ISSUETracker.