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

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

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

RenderScript

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

เพลย์ลิสต์ Android

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

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

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

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

ใน 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();