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

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

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

RenderScript

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

เพลย์ลิสต์ Android

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

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

การเลิกใช้งาน API ดิสเพลย์

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

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

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

โปรดทราบว่า Jetpack WindowManager ไลบรารีจะมี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();