ในแต่ละรุ่น Android API บางรายการอาจล้าสมัยหรือต้องมีการเปลี่ยนโครงสร้างภายในโค้ดเพื่อมอบประสบการณ์การใช้งานที่ดีขึ้นสำหรับนักพัฒนาซอฟต์แวร์หรือรองรับความสามารถใหม่ๆ ของแพลตฟอร์ม ในกรณีเหล่านี้ Android จะเลิกใช้งาน API ที่ล้าสมัยอย่างเป็นทางการและแนะนำให้นักพัฒนาแอปใช้ API ใหม่แทน
การเลิกใช้งานหมายความว่าเราได้สิ้นสุดการสนับสนุนอย่างเป็นทางการสำหรับ API แล้ว แต่ API จะยังคงพร้อมใช้งานสำหรับนักพัฒนาแอปต่อไป หน้านี้จะไฮไลต์การเลิกใช้งานบางส่วนใน Android รุ่นนี้ หากต้องการดูการเลิกใช้งานอื่นๆ โปรดดูรายงานความแตกต่างของ API
RenderScript
ตั้งแต่ Android 12 เป็นต้นไป เราจะเลิกใช้งาน RenderScript API โดยจะยังคงทำงานต่อไป แต่เราคาดว่าผู้ผลิตอุปกรณ์และส่วนประกอบจะหยุดให้การสนับสนุนการเร่งฮาร์ดแวร์เมื่อเวลาผ่านไป เราขอแนะนำให้ย้ายข้อมูลออกจาก RenderScript เพื่อใช้ประโยชน์จากการเร่ง GPU อย่างเต็มที่
เพลย์ลิสต์ Android
เพลย์ลิสต์ Android เลิกใช้งานแล้ว เราจะไม่ดูแลรักษา API นี้อีกต่อไป แต่ฟังก์ชันการทำงานปัจจุบันจะยังคงอยู่เพื่อความเข้ากันได้
เราขอแนะนำให้อ่านและบันทึกเพลย์ลิสต์เป็นไฟล์ m3u
แสดงการเลิกใช้งาน API
อุปกรณ์ Android มีให้บริการในรูปแบบต่างๆ มากมาย เช่น หน้าจอขนาดใหญ่ แท็บเล็ต และอุปกรณ์แบบพับได้ แอปของคุณต้องกำหนดขนาดหน้าจอหรือจอแสดงผลเพื่อแสดงผลเนื้อหาอย่างเหมาะสมสำหรับอุปกรณ์แต่ละเครื่อง เมื่อเวลาผ่านไป Android ได้จัดเตรียม API ต่างๆ สำหรับการดึงข้อมูลนี้ ใน Android 11 เราได้เปิดตัว API WindowMetrics และเลิกใช้งานเมธอดต่อไปนี้
ใน Android 12 เรายังคงแนะนำให้ใช้ WindowMetrics และจะเลิกใช้วิธีการต่อไปนี้
แอปควรใช้ WindowMetrics API เพื่อค้นหาขอบเขตของหน้าต่าง หรือ
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();