5
การทำความเข้าใจ setRetainInstance ของชิ้นส่วน (บูลีน)
เริ่มต้นด้วยเอกสาร: โมฆะสาธารณะ setRetainInstance (บูลีนเก็บ) ควบคุมว่าจะเก็บอินสแตนซ์ของส่วนย่อยไว้ในการสร้างกิจกรรมใหม่หรือไม่ (เช่นจากการเปลี่ยนแปลงการกำหนดค่า) สามารถใช้กับชิ้นส่วนที่ไม่ได้อยู่ในกองซ้อนด้านหลังเท่านั้น หากตั้งค่าวงจรชีวิตของแฟรกเมนต์จะแตกต่างกันเล็กน้อยเมื่อมีการสร้างกิจกรรมใหม่: onDestroy () จะไม่ถูกเรียก (แต่ onDetach () จะยังคงอยู่เนื่องจากแฟรกเมนต์กำลังถูกแยกออกจากกิจกรรมปัจจุบัน) onCreate (Bundle) จะไม่ถูกเรียกใช้เนื่องจากแฟรกเมนต์ไม่ได้ถูกสร้างขึ้นใหม่ onAttach (กิจกรรม) และ onActivityCreated (Bundle) จะยังคงถูกเรียกใช้ ฉันมีคำถาม: แฟรกเมนต์ยังรักษามุมมองหรือไม่หรือสิ่งนี้จะถูกสร้างใหม่ตามการเปลี่ยนแปลงการกำหนดค่าหรือไม่? "เก็บรักษา" หมายความว่าอะไร? ส่วนจะถูกทำลายเมื่อผู้ใช้ออกจากกิจกรรมหรือไม่ ทำไมมันไม่ทำงานกับเศษเล็กเศษน้อยในกองหลัง? กรณีการใช้งานแบบไหนที่เหมาะสมกับการใช้วิธีนี้?