بدء استخدام واجهة برمجة تطبيقات Memory Advice API لألعاب Unity

يوضّح هذا الدليل كيفية استخدام المكوّن الإضافي Memory Advice لـ Unity من أجل دمج Memory Advice API في لعبة Unity.

الشروط

يتوفر المكوّن الإضافي على:

  • إصدار Unity 2019 مع Android NDK r19

  • إصدار Unity 2020 مع Android NDK r19

  • إصدار Unity 2021 مع Android NDK r21

  • إصدار Unity 2022 مع Android NDK r23

قد تواجه مشكلات غير متوقعة إذا كنت تستخدم إصدارات أخرى من Unity وAndroid NDK. للعثور على نسخة NDK التي يستخدمها تثبيت Unity، راجع دليل إعداد بيئة Android لـ Unity.

تنزيل المكوّن الإضافي

نزِّل المكوِّن الإضافي.

استيراد المكون الإضافي

المكون الإضافي هو حزمة Unity يمكنك استيرادها إلى مشروعك. لاستيراد المكون الإضافي، انقر على مواد العرض > استيراد الحزمة > الحزمة المخصصة وحدد الملف .unitypackage الذي نزّلته. يمكنك أيضًا النقر مرّتين على ملف .unitypackage بعد فتح مشروع Unity.

استخدام المكتبة

يوضّح هذا القسم كيفية استخدام المكتبة.

تهيئة المكتبة

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

void Start()
{
    MemoryAdviceErrorCode errorCode = MemoryAdvice.Init();
    if(errorCode == MemoryAdviceErrorCode.Ok)
    {
        Debug.Log("Memory advice init successfully");
    }
}

استطلاع حول حالة الذاكرة

يمكنك استرداد حالة الذاكرة لتطبيقك من خلال استطلاع آراء المكتبة حسب الفاصل الزمني الذي تختاره. استخدِم الدالة MemoryAdvice_getMemoryState عند الحاجة إلى استقصاء معلومات عن المكتبة:

MemoryState memoryState = MemoryAdvice.GetMemoryState();
switch (memoryState)
{
    case MemoryState.Ok:
        //The application can safely allocate memory.
        break;
    case MemoryState.ApproachingLimit:
        // The application should minimize memory allocation.
        break;
    case  MemoryState.Critical:
        // The application should free memory as soon as possible
        // until the memory state changes.
        break;
}

إعداد مُشاهد

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

MemoryAdviceErrorCode errorCode = MemoryAdvice.RegisterWatcher(2000,
        new MemoryWatcherDelegateListener((MemoryState state) =>
    {
        switch (memoryState)
        {
            case MemoryState.ApproachingLimit:
                // The application should minimize memory allocation.
                break;
            case  MemoryState.Critical:
                // The application should free memory as soon as possible
                // until the memory state changes.
                break;
        }
    })
);

if(errorCode == MemoryAdviceErrorCode.Ok)
{
    Debug.Log("Memory Advice watcher registered successfully");
}

الخطوات التالية

يمكنك تنزيل نموذج لمشروع Unity الذي يوفر واجهة مستخدم بسيطة لتخصيص الذاكرة وتحريرها، ويستخدم Memory Advice API لمراقبة حالة الذاكرة.

يمكنك الاطّلاع على النظرة العامة للاطّلاع على موارد إضافية ومشاكل إعداد التقارير.