يوضِّح هذا الدليل طريقة استخدام المكوّن الإضافي 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 يمكنك استيرادها إلى مشروعك. للاستيراد
المكوّن الإضافي، انقر على مواد العرض > استيراد الحزمة > الحزمة المخصّصة واختَر
تم تنزيل ملف واحد (.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 لمراقبة حالة الذاكرة.
الاطّلاع على نظرة عامة بشأن مراجع إضافية والإبلاغ عن المشاكل