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