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

ในการเปิดตัวแต่ละครั้ง Android API บางรายการอาจล้าสมัยหรือต้อง ปรับโครงสร้างใหม่เพื่อมอบประสบการณ์การใช้งานที่ดียิ่งขึ้นแก่นักพัฒนาแอปหรือรองรับความสามารถใหม่ๆ ของแพลตฟอร์ม ในกรณีเหล่านี้ 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();