نظرة عامة على 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.