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