หน้าต่อไปนี้มีข้อมูลเกี่ยวกับการปรับปรุงการใช้หน่วยความจำของแอป
คำแนะนำทั่วไปเกี่ยวกับหน่วยความจำ
- ภาพรวมหน่วยความจำ
- อธิบายสถาปัตยกรรมหน่วยความจำหลักของ 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
- Crashlytics 20.1.0
- แสดงข้อยกเว้นหน่วยความจำไม่เพียงพอ (OOM) และการหยุดทำงานของตัวจำกัดหน่วยความจำในเวอร์ชันที่ใช้งานจริงพร้อมบริบทการวินิจฉัยเพื่อจัดลำดับความสำคัญและแก้ไขข้อขัดข้องในฟิลด์
- ProfilingManager
- API ขั้นสูงที่ช่วยให้แอปเก็บรวบรวมและอัปโหลดฮีปดัมพ์และโปรไฟล์ฮีปเวอร์ชันที่ใช้งานจริงจากเซสชันของผู้ใช้ที่ใช้งานอยู่ได้โดยอัตโนมัติ
แหล่งข้อมูลเพิ่มเติม
ดูข้อมูลเพิ่มเติมเกี่ยวกับหน่วยความจำได้จากแหล่งข้อมูลเพิ่มเติมต่อไปนี้
บล็อกโพสต์
- การเตรียมแอปให้พร้อมสำหรับขีดจำกัดหน่วยความจำที่กว้างขึ้น
- การให้ความสำคัญกับประสิทธิภาพการใช้หน่วยความจำ: ขั้นตอนสำคัญสำหรับ Android 17