Android P จะทำให้แอปขัดข้องแทนที่จะบอกคุณว่าแอปไม่ตอบสนอง (สิ่งที่เรียกว่าแอปไม่ตอบสนองหรือกล่องโต้ตอบ ANR) เป็นกลยุทธ์ที่ใช้เพื่อเข้าถึงนักพัฒนาซอฟต์แวร์สำหรับแอปที่ทำมาไม่ดี และอาจได้ผล
ในบรรดา เพิ่มเติมใหม่ ไปจนถึง Android P รวมถึง ท่าทางการนำทางใหม่, ชิ้น เอพีไอ และ API ไบโอเมตริกซ์ใหม่มีการเปลี่ยนแปลงอื่นๆ บางอย่างซึ่งอาจส่งผลกระทบในลักษณะที่ละเอียดอ่อนยิ่งขึ้นเช่นกัน หนึ่งในนั้นคือการลบกล่องโต้ตอบแอปไม่ตอบสนอง (ANR) สำหรับแอปเบื้องหน้า กล่องโต้ตอบ ANR จะปรากฏขึ้นเมื่อมีบางสิ่งขัดขวางไม่ให้เธรด UI หลักตอบสนอง เมื่อสิ่งนี้เกิดขึ้นใน Android Oreo หรือต่ำกว่า กล่องโต้ตอบ ANR จะแสดงให้ผู้ใช้ทราบ ขณะนี้ใน Android P แอปพลิเคชันจะขัดข้องโดยไม่มีการแจ้งเตือนใด ๆ สำหรับผู้ใช้
เหตุใดแอปพลิเคชันจึงขัดข้องโดยไม่แจ้งให้ผู้ใช้ทราบว่าเกิดอะไรขึ้นจริง อาจไม่เป็นประโยชน์ต่อผู้ใช้เสมอไป แต่บังคับให้นักพัฒนาต้องใส่ใจกับปัญหาบางอย่างเป็นพิเศษ และตรวจสอบให้แน่ใจว่าหลีกเลี่ยงปัญหาดังกล่าวได้ นักพัฒนาไม่ควรเรียกใช้สิ่งใดๆ ในเธรดเบื้องหน้า ในวิดีโอต้นฉบับที่ลิงก์ด้านล่าง Google กล่าวถึงแนวทางแก้ไขที่เป็นไปได้เพื่อหลีกเลี่ยงปัญหานี้ รวมถึง
AsyncTask API. ข้อจำกัดล่าสุดของ Android เกี่ยวกับบริการพื้นหลังหมายความว่าการเปลี่ยนไปใช้บริการอาจไม่ใช่ความคิดที่ดีที่นี่ เราขอแนะนำให้ฟังการพูดคุยด้านล่างนี้ หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับการแก้ไขปัญหานี้:แนวทางของ Google สมเหตุสมผล แต่มันมากเกินไปหรือเปล่า? อาจดูเหมือนว่าแอป Android ขัดข้องน้อยลง แต่หากผู้ใช้มองเห็นการแจ้งเตือนได้น้อยลง จากนั้นนักพัฒนาจะต้องจับตาดูเครื่องมือข้อขัดข้องของตน เช่น การรายงานข้อขัดข้องของ Firebase ไม่ใช่ผู้ใช้โดยตรง ข้อเสนอแนะ. หากคุณเป็นนักพัฒนาซอฟต์แวร์ P รุ่นเบต้าล่าสุด คุณสามารถนำกล่องโต้ตอบข้อขัดข้องเหล่านี้กลับมาได้โดยเปิดใช้งานการตั้งค่าในตัวเลือกนักพัฒนา
นี่ไม่ใช่การเปลี่ยนแปลงเพียงอย่างเดียวใน Android P เกี่ยวกับการมองเห็นว่าแอปใดกำลังทำอะไรอยู่ในพื้นหลัง Android Oreo เปิดตัวการแจ้งเตือนแบบถาวรเมื่อ แอพบางตัวทำงานในพื้นหลัง หากแอปนั้นไม่มีการแจ้งเตือนที่มีลำดับความสำคัญสูงเพียงพอ แต่ Android P จะกำจัดการแจ้งเตือนนั้นโดยสิ้นเชิง ข้อแตกต่างเพียงอย่างเดียวคือกล่องโต้ตอบ ANR ไม่ได้น่ารำคาญเท่ากับการแจ้งเตือนแบบถาวร
ที่มา: /r/AndroidDev