คู่มือนี้อธิบายวิธีใช้ปลั๊กอิน 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 เพื่อตรวจสอบสถานะหน่วยความจำ
ดูภาพรวมสำหรับ แหล่งข้อมูลเพิ่มเติม และการรายงานปัญหา