ตั้งแต่วันที่ 27 มีนาคม 2025 เป็นต้นไป เราขอแนะนำให้ใช้ android-latest-release
แทน aosp-main
เพื่อสร้างและมีส่วนร่วมใน AOSP โปรดดูข้อมูลเพิ่มเติมที่หัวข้อการเปลี่ยนแปลงใน AOSP
เพิ่มประสิทธิภาพสำหรับขนาดหน้า 16 KB
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
สำหรับงานการเขียนโปรแกรมส่วนใหญ่ ขนาดหน้าไม่เกี่ยวข้อง
อย่างไรก็ตาม หากคุณจัดสรรหน่วยความจำจํานวนมาก ทํางานกับคอมโพเนนต์ที่ได้รับการเพิ่มประสิทธิภาพสูง ติดต่อกับเคอร์เนลโดยตรง หรือดําเนินการกับไฟล์จํานวนมาก การเปลี่ยนไปใช้ขนาดหน้าเว็บ 16 KB ของ Android อาจต้องพิจารณาเพิ่มเติมในการวิเคราะห์ประสิทธิภาพ เอกสารนี้ไฮไลต์วิธีต่างๆ ที่ขนาดหน้าเว็บส่งผลต่อการเปลี่ยนแปลงของประสิทธิภาพ
ตรวจหาปัญหาเกี่ยวกับหน่วยความจํา
เมื่อจัดสรรหน่วยความจำด้วย mmap
โปรดตรวจสอบว่าคุณส่งอาร์กิวเมนต์ที่หารด้วยขนาดหน้าเว็บได้เสมอ หากคุณขอ 4096
ไบต์ในระบบที่มีหน้าขนาด 16 KB เคอร์เนลจะจัดสรร 16 KB
ซึ่งทำให้พื้นที่ว่างเหลือ 12 KB
การดู /proc/maps
, /proc/smaps
(หรือใช้เครื่องมือ showmap
ของ Android ซึ่งจะแสดงพื้นที่ว่างที่เสียไปอย่างสวยงาม) หรือตรวจสอบ strace
ของกระบวนการจะช่วยตรวจหาปัญหาเหล่านี้ได้
ตรวจหาปัญหาเกี่ยวกับพื้นที่ดิสก์
อุปกรณ์ที่เปิดใช้งานใน Android 15 ขึ้นไปจะมี ELF ที่สอดคล้องกับ 16 KB โดยค่าเริ่มต้น และแอปพลิเคชันจำนวนมากก็สอดคล้องกับ 16 KB ด้วย ไฟล์จำนวนมากมีการเพิ่มการถ่วงมากไม่ว่าระบบจะเป็นอย่างไรก็ตาม หากต้องการดูขนาดจริงในดิสก์ ให้ใช้ du <my file>
เพื่อดูจำนวนกิโลไบต์ที่ไฟล์ใช้ หากต้องการดูขนาดที่ปรากฏของไฟล์ ให้ใช้ du -b <my file>
ซึ่งจะแสดงขนาดเป็นไบต์ เมื่อขนาดที่ปรากฏใหญ่กว่าขนาดจริง โดยทั่วไปหมายความว่าไฟล์ถูกบีบอัดหรือมีบางพื้นที่ที่ห่างกันมาก เมื่อขนาดที่ปรากฏเล็กกว่าขนาดจริง แสดงว่าไฟล์อาจมีข้อมูลเมตาเพิ่มเติมหรืออาจมีการแยกไฟล์ในดิสก์ การตรวจสอบเหล่านี้ช่วยให้คุณวิเคราะห์ขนาดจริงของไฟล์บนดิสก์ได้
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-27 UTC
[[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 2025-07-27 UTC"],[],[],null,["# Optimize for 16 KB page size\n\nFor most programming tasks, the page size isn't relevant.\nHowever, if you're allocating large amounts of memory, working on\nhighly-optimized components, interfacing directly with the kernel, or doing\nlarge amounts of file manipulation, Android's transition to the 16 KB page\nsize could add considerations to your performance analysis. This document\nhighlights some ways page size changes the dynamics of performance.\n\nDetect memory issues\n--------------------\n\nWhen you allocate memory with `mmap`, make sure that you always pass an argument\nthat is a multiple of page size. If you request `4096` bytes on a system with a\n16 KB page size, then the kernel allocates `16 KB`, wasting `12 KB` of\nspace. Viewing `/proc/maps`, `/proc/smaps` (or using the Android tool `showmap`\nwhich prints the wasted space nicely), or checking the `strace` of your process\ncan help detect these.\n\nDetect disk space issues\n------------------------\n\nDevices launching on Android 15 and later have 16 KB aligned ELFs by\ndefault, and many applications are 16 KB aligned as well. Regardless of the\nsystem, many files have increased padding. To view the real size on disk, you\ncan use `du \u003cmy file\u003e` to see how many kilobytes a file takes. To view the\napparent size of a file, you can use `du -b \u003cmy file\u003e`, which shows you the size\nin bytes. When the apparent size is larger than real size, this usually means\nthat the file is compressed or has sparse regions. When the apparent size is\nsmaller than the real size, the file likely has extra metadata or may be split\nup on disk. Using these checks, you can analyze the real size of files on disk."]]