หน่วยความจำของ Android

หน้าต่อไปนี้มีข้อมูลเกี่ยวกับการปรับปรุงการใช้หน่วยความจำของแอป

คำแนะนำทั่วไปเกี่ยวกับหน่วยความจำ

ภาพรวมหน่วยความจำ
อธิบายสถาปัตยกรรมหน่วยความจำหลักของ Android, ข้อจำกัดของ RAM และวิธีที่ระบบปฏิบัติการปรับสมดุลกระบวนการโดยใช้ Low Memory Killer (LMK)
การจัดการหน่วยความจำ
สรุปแนวทางปฏิบัติแนะนำสำหรับนักพัฒนาแอปในการเผยแพร่ทรัพยากรตลอดวงจรของคอมโพเนนต์ หลีกเลี่ยงการรั่วไหล และจัดการหน่วยความจำเมื่อเปลี่ยนสถานะของกระบวนการ
ทำความเข้าใจและแก้ปัญหาหน่วยความจำของ Android
ให้ภาพรวมที่ครอบคลุมของสถาปัตยกรรมหน่วยความจำของ Android, เครื่องมือที่ใช้ในการวิเคราะห์ และแบบฝึกหัดภาคปฏิบัติเพื่อช่วยคุณระบุและแก้ไขปัญหาที่เกี่ยวข้องกับหน่วยความจำ

การเพิ่มประสิทธิภาพเฉพาะด้าน

ภาพรวมหน่วยความจำของเกม
รายละเอียดการจัดสรรงบประมาณหน่วยความจำ การจัดการการจัดสรรแบบเนทีฟ และคำแนะนำในการจัดการชิ้นงานกราฟิกที่ปรับแต่งมาโดยเฉพาะสำหรับแอปที่ใช้เอนจินเกม
การเพิ่มประสิทธิภาพรูปภาพบิตแมป
แสดงวิธีปรับขนาด ถอดรหัส และแคชชิ้นงานบิตแมปอย่างมีประสิทธิภาพภายในคลังรูปภาพ
จัดการและวินิจฉัยหน่วยความจำของ WebView
อธิบายโมเดลหน่วยความจำแบบหลายกระบวนการของ WebView อธิบายวิธีจัดการวงจรอย่างเหมาะสมเพื่อป้องกันการรั่วไหล และแสดงเวิร์กโฟลว์ที่ใช้งานได้จริงสำหรับการวินิจฉัยปัญหาหน่วยความจำ
การเพิ่มประสิทธิภาพโค้ด R8
อธิบายวิธีใช้ประโยชน์จาก R8 เพื่อลดขนาด APK, โอเวอร์เฮดของข้อมูลเมตา และการใช้หน่วยความจำรันไทม์

เครื่องมือแก้ไขข้อบกพร่องหน่วยความจำในเครื่อง

เครื่องมือ Android Studio
ให้การตรวจสอบฮีปแบบเรียลไทม์ การติดตามการจัดสรรหน่วยความจำ และเวิร์กโฟลว์การตรวจหาการรั่วไหลภายใน IDE โดยตรง
เครื่องมือสำรวจฮีปดัมป์ของ Perfetto
นำเสนอการวิเคราะห์เชิงลึกด้วยภาพของฮีปดัมป์แบบเนทีฟและ Java หรือ Kotlin เพื่อแยกต้นไม้ของออบเจ็กต์ที่เก็บไว้และการจัดสรรหน่วยความจำแบบไม่ระบุตัวตน
บันทึกการติดตามระบบในอุปกรณ์
แสดงวิธีบันทึกการติดตามระดับระบบในอุปกรณ์เพื่อแก้ไขข้อบกพร่องที่เกี่ยวข้องกับประสิทธิภาพในแอป
การแก้ไขข้อบกพร่องการใช้งานหน่วยความจำใน Android
สอนวิธีทำความเข้าใจการจัดการหน่วยความจำของ Linux และใช้เครื่องมือต่างๆ เช่น dumpsys meminfo, Perfetto, โปรไฟล์ฮีปแบบเนทีฟ และฮีปดัมป์เพื่อติดตามการใช้งานหน่วยความจำและระบุการรั่วไหล

เครื่องมือหน่วยความจำระดับเวอร์ชันที่ใช้งานจริง

Android Vitals: การใช้งานหน่วยความจำ (RSS แบบไม่ระบุตัวตน + Swap)
Android Vitals จะแชร์การใช้งานหน่วยความจำเวอร์ชันที่ใช้งานจริงของแอปโดยแบ่งตามสถานะของกระบวนการ ได้แก่ เบื้องหน้า บริการที่ทำงานอยู่เบื้องหน้า และบริการที่ทำงานอยู่เบื้องหลัง
Android Vitals: การใช้งานหน่วยความจำบิตแมป
Android Vitals จะแสดงเมตริกเกี่ยวกับหน่วยความจำที่ใช้ของบิตแมปของแอปโดยรวบรวมข้อมูลจากอุปกรณ์ Android
Android Vitals: การเพิ่มประสิทธิภาพโค้ด DEX
Android Vitals จะแจ้งเตือนคุณเมื่อระดับการเพิ่มประสิทธิภาพโค้ด DEX ของแอปอยู่ในระดับต่ำ ซึ่งรวมถึงการทำให้สับสน การลดขนาด และการเพิ่มประสิทธิภาพสำหรับแอปและเกมที่ใช้ R8
Crashlytics 20.1.0
แสดงข้อยกเว้นหน่วยความจำไม่เพียงพอ (OOM) ในเวอร์ชันที่ใช้งานจริงและการหยุดทำงานของตัวจำกัดหน่วยความจำพร้อมบริบทการวินิจฉัยเพื่อจัดลำดับความสำคัญและแก้ไขข้อขัดข้องในฟิลด์
ProfilingManager
API ขั้นสูงที่ช่วยให้แอปเก็บรวบรวมและอัปโหลดฮีปดัมป์และโปรไฟล์ฮีปเวอร์ชันที่ใช้งานจริงจากเซสชันของผู้ใช้ที่ใช้งานอยู่ได้โดยทางโปรแกรม

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับหน่วยความจำได้จากแหล่งข้อมูลเพิ่มเติมต่อไปนี้

บล็อกโพสต์

วิดีโอ