ภาพรวมของ Memory Advice API

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) และเผยแพร่ผ่านช่องทางต่อไปนี้

เกมควรใช้การเปิดตัว 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 มิลลิวินาที ต่อการโทร คุณควรพิจารณาค่าใช้จ่ายนี้เมื่อกำหนดความถี่ ในการสำรวจสถานะหน่วยความจำ หรือความถี่ที่จะระบุสำหรับการเรียกกลับสถานะหน่วยความจำ

ข้อกำหนด

ข้อกำหนดของอุปกรณ์

  • Android 4.4 (API ระดับ 19) ขึ้นไป

ข้อกำหนดของแอป

  • API รองรับเฉพาะแอปเนทีฟ (แอปที่เขียนด้วย C/C++ เป็นหลัก)

  • API รองรับเฉพาะอุปกรณ์จริงเท่านั้น ไม่รองรับโปรแกรมจำลอง

ข้อกำหนดเกี่ยวกับเวอร์ชัน NDK

การเปิดตัว Memory Advice API รองรับ NDK เวอร์ชันยอดนิยมส่วนใหญ่ โปรดดูรายการ NDK ที่รองรับในบันทึกประจำรุ่น

แหล่งข้อมูลเพิ่มเติม

ปัญหาและความคิดเห็น

Memory Advice API อยู่ในเวอร์ชันเบต้าและยินดีรับฟังความคิดเห็น หากคุณมีข้อเสนอแนะหรือพบปัญหาขณะใช้ API โปรดสร้างปัญหาใน IssueTracker