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

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

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

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

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

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

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

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

เครื่องมือหน่วยความจำระดับการผลิต

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

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

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

บล็อกโพสต์

วิดีโอ