เริ่มต้นใช้งาน 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 เพื่อตรวจสอบสถานะหน่วยความจำ

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