การเลิกใช้งาน

ในแต่ละรุ่น API ของ Android บางรายการอาจล้าสมัยหรือจำเป็นต้องได้รับการรีแฟกทอริงเพื่อให้นักพัฒนาแอปได้รับประสบการณ์การใช้งานที่ดียิ่งขึ้นหรือรองรับความสามารถใหม่ๆ ของแพลตฟอร์ม ในกรณีเหล่านี้ Android จะเลิกใช้งาน API ที่ล้าสมัยอย่างเป็นทางการและนำนักพัฒนาแอปไปยัง API ใหม่ให้ใช้งานแทน

การเลิกใช้งานหมายความว่าเราได้สิ้นสุดการสนับสนุนอย่างเป็นทางการสำหรับ API ดังกล่าวแล้ว แต่นักพัฒนาแอปจะยังคงใช้งาน API ดังกล่าวได้ หน้านี้จะไฮไลต์การเลิกใช้งานบางอย่างใน Android เวอร์ชันนี้ ดูการเลิกใช้งานอื่นๆ ได้ที่รายงานความแตกต่างของ API

RenderScript

เลิกใช้งาน RenderScript API ใน Android 12 เป็นต้นไป ผู้ผลิตและเหล่านั้นจะยังคงใช้งานได้ต่อไป แต่เราหวังว่าผู้ผลิตและส่วนประกอบจะหยุดให้การสนับสนุนการเร่งฮาร์ดแวร์ในอนาคต เราขอแนะนําให้เลิกใช้ RenderScript เพื่อใช้ประโยชน์จากการเร่งด้วย GPU อย่างเต็มที่

เพลย์ลิสต์ Android

เพลย์ลิสต์ของ Android เลิกใช้งานแล้ว ระบบจะไม่บำรุงรักษา API นี้อีกต่อไป แต่ฟังก์ชันการทำงานปัจจุบันจะยังคงอยู่เพื่อการใช้งานร่วมกันได้

เราขอแนะนำให้คุณอ่านและบันทึกเพลย์ลิสต์เป็นไฟล์ m3u

การเลิกใช้งาน Display API

อุปกรณ์ Android เริ่มวางจำหน่ายในรูปแบบของอุปกรณ์ต่างๆ มากมาย เช่น หน้าจอขนาดใหญ่ แท็บเล็ต และอุปกรณ์พับได้ แอปของคุณต้องระบุขนาดหน้าจอหรือจอแสดงผลเพื่อแสดงผลเนื้อหาอย่างเหมาะสมสำหรับอุปกรณ์แต่ละเครื่อง เมื่อเวลาผ่านไป Android จะมี API ต่างๆ สำหรับการเรียกข้อมูลนี้ ใน Android 11 เราได้เปิดตัว WindowMetrics API และเลิกใช้งานวิธีต่อไปนี้

ใน Android 12 เรายังคงแนะนำให้ใช้ WindowMetrics และกำลังจะเลิกใช้งานวิธีการต่อไปนี้

แอปควรใช้ WindowMetrics API เพื่อค้นหาขอบเขตของกรอบ หรือเพื่อค้นหาความหนาแน่นปัจจุบัน Configuration.densityDpi

โปรดทราบว่าไลบรารี WindowManagerของ Jetpack ประกอบด้วยคลาส WindowMetrics ที่รองรับ Android 4.0.1 (API ระดับ 14) ขึ้นไป

ตัวอย่าง

ต่อไปนี้คือตัวอย่างวิธีใช้ WindowMetrics

ก่อนอื่น คุณต้องทำให้กิจกรรมของแอปปรับขนาดได้ทั้งหมด

กิจกรรมควรอาศัย WindowMetrics จากบริบทกิจกรรมสำหรับงานที่เกี่ยวข้องกับ UI โดยเฉพาะ WindowManager.getCurrentWindowMetrics()

หากแอปสร้าง MediaProjection ขอบเขตต้องมีขนาดที่ถูกต้องเนื่องจากการฉายภาพจับภาพบนหน้าจอ หากแอปปรับขนาดได้เต็มที่ บริบทกิจกรรมจะแสดงขอบเขตที่ถูกต้อง

Kotlin

val projectionMetrics = activityContext
        .getSystemService(WindowManager::class.java).maximumWindowMetrics

Java

WindowMetrics projectionMetrics = activityContext
        .getSystemService(WindowManager.class).getMaximumWindowMetrics();

หากแอปปรับขนาดได้เพียงบางส่วน แอปจะต้องค้นหาขอบเขตจากอินสแตนซ์ WindowContext และดึงข้อมูล WindowMetrics ของพื้นที่แสดงผลสูงสุดที่แอปพลิเคชันใช้ได้โดยใช้ WindowManager.getMaximumWindowMetrics()

Kotlin

val windowContext = context.createWindowContext(mContext.display!!,
      WindowManager.LayoutParams.TYPE_APPLICATION, null)
val projectionMetrics = windowContext.getSystemService(WindowManager::class.java)
      .maximumWindowMetrics

Java

Context windowContext = mContext.createWindowContext(mContext.getDisplay(),
      WindowManager.LayoutParams.TYPE_APPLICATION, null;
WindowMetrics projectionMetrics = windowContext.getWindowManager()
      .getMaximumWindowMetrics();