Category: Android Development
เมื่อ User ทำการ Rotate Device สิ่งที่เกิดขึ้นตามมาก็คือ Activity จะถูก Destroyed และ Instance ใหม่ของ Activity นั้นจะถูก Created ขึ้นมาแทน
เมื่อ User ทำการ Rotate Device สิ่งที่เกิดขึ้นตามมาก็คือ Activity จะถูก Destroyed และ Instance ใหม่ของ Activity นั้นจะถูก Created ขึ้นมาแทน
เมื่อ
Activity ถูก Destroyed และ Created ขึ้นมาใหม่
อันเป็นผลเนื่องมาจากการเปลี่ยน Configuration (อย่างเช่นในกรณีของการ
Rotate Device) การ implement onRetainNonConfigurationInstance()
จะช่วยให้เราสามารถคืนกลับ Object อะไรก็ตาม ที่เราจะสามารถเรียกใช้งานจาก
Instance ใหม่ของ Activity ที่ถูก Created ขึ้นได้ในภายหลัง โดยการเรียก
getLastNonConfigurationInstance
ซึ่งวิธีการนี้จะช่วยให้
การ Transition ในช่วงของ Screen Rotation ทำได้รวดเร็วขึ้น
เพราะปกติการดึงข้อมูลเพื่อนำมาแสดงผลบน Screen เป็น process
ที่ค่อนข้างใช้เวลา แต่ถ้าเรามีการบันทึกเก็บไว้ก่อน
หรือที่เราเรียกว่าการทำ Caching ก็เพียงแค่ดึงข้อมูลออกมาจาก Object
ที่เราได้บันทึกข้อมูลเก็บไว้ผ่าน getLastNonConfigurationInstance
แทนที่จะต้องไปดึงข้อมูลใหม่ทั้งหมด
ก็จะสามารถทำให้ลดเวลาในการประมวลผลได้อย่างมาก
แหล่งที่มา: หนังสือ Creating Android Applications ของ Chris Haseman
No comments:
Post a Comment