Memory Advice API เป็น API เดิมเวอร์ชันทดลองที่ช่วยให้แอป Android ใช้หน่วยความจำได้ภายในขีดจำกัดที่ปลอดภัย API ดำเนินการนี้โดยประมาณปริมาณทรัพยากรหน่วยความจำที่ใช้อยู่ จากนั้นจึงแจ้งให้แอปทราบเมื่อเกินเกณฑ์ที่กำหนด นอกจากนี้ API ยังรายงานเปอร์เซ็นต์โดยประมาณของการใช้หน่วยความจําไปยังแอปของคุณโดยตรงได้ด้วย
การประมาณที่ API ระบุจะช่วยระบุเวลาที่แอปควรปรับการใช้หน่วยความจำ หรือเพื่อค้นหาจุดที่ต้องปรับปรุงในแอปเวอร์ชันในอนาคต การปรับอาจรวมถึงการเปลี่ยนแปลงใดๆ ที่ส่งผลต่อการใช้หน่วยความจำ เช่น การลดรายละเอียดและคุณภาพของชิ้นงานภาพและเสียง
ทรัพยากรหน่วยความจําโดยประมาณประกอบด้วยหน่วยความจําฮีปเนทีฟที่จัดสรรโดย malloc และหน่วยความจํากราฟิกที่จัดสรรโดย OpenGL ES และ Vulkan Graphics API ซึ่งทําให้ Memory Advice API เหมาะสําหรับเกมและแอปที่เน้นกราฟิก
ค่าประมาณจะอิงตามข้อมูลต่อไปนี้
- เมตริกอุปกรณ์ที่ API รวบรวม
- ข้อมูลแมชชีนเลิร์นนิงจากอุปกรณ์
- การทดสอบอุปกรณ์
ที่ระดับ API นั้น Memory Advice API จะกำหนดชุดสถานะคำแนะนำเกี่ยวกับหน่วยความจำและสื่อสารกับแอปด้วยชุดฟังก์ชัน
เริ่มต้นใช้งาน เริ่มต้นใช้งานสำหรับเกม Unity
การกระจาย
Memory Advice API เป็นส่วนหนึ่งของ Android Games Development Kit (AGDK) และเผยแพร่ผ่านช่องทางต่อไปนี้
- บิตไบนารีในไลบรารี Jetpack สำหรับเกม Android
- บิลด์ไบนารีในหน้าดาวน์โหลด AGDK
- ซอร์สโค้ดใน AOSP
เกมควรใช้ Memory Advice API เวอร์ชันที่แนะนำสำหรับสภาพแวดล้อมการสร้าง สำหรับ Android Studio เราขอแนะนำให้ใช้รุ่นที่มี Jetpack สำหรับ Android Game Development Extension (AGDE) เราขอแนะนำให้ใช้รุ่นในหน้าดาวน์โหลด AGDK
ฟีเจอร์
ส่วนนี้จะอธิบายฟีเจอร์ของ Memory Advice API
สถานะหน่วยความจำ
API จะรายงานสถานะหน่วยความจำต่อไปนี้ไปยังแอป
- MEMORYADVICE_STATE_OK
- MEMORYADVICE_STATE_APPROACHING_LIMIT
- MEMORYADVICE_STATE_CRITICAL
โปรดดูรายละเอียดที่หน้าข้อมูลอ้างอิง memoryadvice_memorystate
การรายงานสถานะหน่วยความจํา
API รองรับการรายงานสถานะหน่วยความจําผ่านกลไกการเรียกข้อมูลหรือกลไกการเรียกกลับ ดังนี้
การเรียกข้อมูล:
แอปเรียก API ได้ทุกเมื่อเพื่อดึงข้อมูลสถานะหน่วยความจำCallback:
แอปสามารถลงทะเบียนฟังก์ชัน Callback กับ Memory Advice API แอปจะระบุความถี่ในการโทรสําหรับการโทรกลับ API ใช้ความถี่เพื่อกำหนดเวลาเรียกใช้การเรียกกลับเมื่อสภาพหน่วยความจำของแอปพลิเคชันใกล้ถึงขีดจำกัดที่ปลอดภัยหรือต่ำมาก ระบบจะไม่เรียกใช้การเรียกกลับหากเงื่อนไขหน่วยความจำปลอดภัย การดำเนินการเรียกกลับจะดำเนินการจากเธรดของตนเอง ไม่ใช่จากเธรดของแอป
ข้อควรพิจารณาด้านค่าใช้จ่ายและความถี่ในการโทร
Memory Advice API ใช้เวลาในการคํานวณเพื่อสร้างสถานะหน่วยความจํา ค่าใช้จ่ายจะแตกต่างกันไปตามอุปกรณ์ แต่โดยปกติจะอยู่ระหว่าง 1-3 มิลลิวินาทีต่อการโทร 1 ครั้ง คุณควรพิจารณาค่าใช้จ่ายเพิ่มเติมนี้เมื่อกําหนดความถี่ในการสำรวจสถานะหน่วยความจํา หรือความถี่ที่จะระบุสําหรับการเรียกกลับสถานะหน่วยความจํา
ข้อกำหนด
ข้อกำหนดของอุปกรณ์
- Android 4.4 (API ระดับ 19) ขึ้นไป
ข้อกำหนดของแอป
API รองรับเฉพาะแอปเนทีฟ (แอปที่เขียนด้วย C/C++ เป็นหลัก)
API รองรับเฉพาะอุปกรณ์จริง และไม่รองรับโปรแกรมจำลอง
ข้อกำหนดเกี่ยวกับเวอร์ชัน NDK
릴리스 Memory Advice API รองรับ NDK เวอร์ชันยอดนิยมส่วนใหญ่ โปรดดูรายการ NDK ที่รองรับในบันทึกประจำรุ่น
รองรับ NDK เวอร์ชันเพิ่มเติมแหล่งข้อมูลเพิ่มเติม
- บันทึกประจำรุ่นของ Memory Advice API
- เอกสารอ้างอิง Memory Advice API
- ตัวอย่างคำแนะนำเกี่ยวกับหน่วยความจำใน GitHub
- ซอร์สโค้ด Memory Advice API
ปัญหาและความคิดเห็น
Memory Advice API อยู่ในรุ่นเบต้าและยินดีรับฟังความคิดเห็น หากคุณมีคำแนะนำหรือพบปัญหาขณะใช้ API โปรดสร้างปัญหาใน IssueTracker