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

ในแต่ละรุ่น 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();