เริ่มต้นใช้งาน 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

ใช้ไลบรารี

ส่วนนี้จะอธิบายวิธีใช้ไลบรารี

เริ่มต้นไลบรารี

คุณจะต้องเริ่มต้นไลบรารี 1 ครั้งเมื่อแอปเริ่มทำงาน โดยเพิ่มโค้ดนี้ลงในโปรเจ็กต์ของคุณ

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 รวมถึงฟังก์ชัน Watcher จะถูกเรียกเมื่อรัฐใกล้ถึงขีดจำกัดหรือ สถานะหน่วยความจำ (แต่ไม่ใช่สำหรับสถานะ Ok) ตัวอย่างเช่น โค้ดต่อไปนี้สร้างตัวเฝ้าดู และขอการแจ้งเตือน Memory Advice API ทุก 2 วินาที

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 ของเราได้ ซึ่งมี UI ที่เรียบง่ายสำหรับการจัดสรรและเพิ่มพื้นที่ว่าง หน่วยความจำ รวมถึงการใช้งาน Memory Advice API เพื่อตรวจสอบสถานะหน่วยความจำ

ดูภาพรวมสำหรับ แหล่งข้อมูลเพิ่มเติม และการรายงานปัญหา