เพิ่มประสิทธิภาพสำหรับขนาดหน้า 16 KB

สำหรับงานการเขียนโปรแกรมส่วนใหญ่ ขนาดหน้าเว็บไม่เกี่ยวข้อง อย่างไรก็ตาม หากคุณจัดสรรหน่วยความจำจำนวนมาก ทำงานกับ คอมโพเนนต์ที่มีการเพิ่มประสิทธิภาพสูง เชื่อมต่อกับเคอร์เนลโดยตรง หรือ จัดการไฟล์จำนวนมาก การเปลี่ยนไปใช้ขนาดหน้า 16 KB ของ Android อาจทำให้คุณต้องพิจารณาเพิ่มเติมในการวิเคราะห์ประสิทธิภาพ เอกสารนี้ เน้นวิธีที่ขนาดหน้าเว็บเปลี่ยนลักษณะการทำงานของประสิทธิภาพ

ตรวจหาปัญหาเกี่ยวกับหน่วยความจำ

เมื่อจัดสรรหน่วยความจำด้วย mmap ให้ตรวจสอบว่าคุณส่งอาร์กิวเมนต์ ที่เป็นทวีคูณของขนาดหน้าเสมอ หากคุณขอ 4096 ไบต์ในระบบที่มีหน้าหน่วยความจำขนาด 16 KB เคอร์เนลจะจัดสรร 16 KB ซึ่งทำให้เสียพื้นที่ไป 12 KB การดู /proc/maps, /proc/smaps (หรือใช้เครื่องมือ Android showmap ซึ่งจะพิมพ์พื้นที่ที่สูญเปล่าออกมาอย่างสวยงาม) หรือการตรวจสอบ strace ของกระบวนการ จะช่วยตรวจหาพื้นที่เหล่านี้ได้

ตรวจหาปัญหาเกี่ยวกับพื้นที่ดิสก์

อุปกรณ์ที่เปิดตัวใน Android 15 ขึ้นไปจะมี ELF ที่จัดแนว 16 KB โดยค่าเริ่มต้น และแอปพลิเคชันจำนวนมากก็จัดแนว 16 KB ด้วยเช่นกัน ไม่ว่าจะเป็น ระบบใด ไฟล์จำนวนมากก็มีการเพิ่มระยะขอบ หากต้องการดูขนาดจริงในดิสก์ คุณ สามารถใช้ du <my file> เพื่อดูว่าไฟล์ใช้พื้นที่กี่กิโลไบต์ หากต้องการดู ขนาดที่ปรากฏของไฟล์ ให้ใช้ du -b <my file> ซึ่งจะแสดงขนาด เป็นไบต์ เมื่อขนาดที่ปรากฏใหญ่กว่าขนาดจริง โดยปกติแล้วหมายความว่า ไฟล์ถูกบีบอัดหรือมีรีเจียนแบบกระจัดกระจาย เมื่อขนาดที่ปรากฏเล็กกว่าขนาดจริง แสดงว่าไฟล์น่าจะมีข้อมูลเมตาเพิ่มเติมหรืออาจแยก เป็นหลายส่วนในดิสก์ การใช้การตรวจสอบเหล่านี้จะช่วยให้คุณวิเคราะห์ขนาดจริงของไฟล์ในดิสก์ได้