รูปต่อไปนี้ (จากเอกสารอย่างเป็นทางการ ) อธิบายวงจรชีวิตที่รู้จักกันดีของกิจกรรม Android:

ในทางกลับกันเมื่อกิจกรรมถูกทำลายโดยระบบ (เช่นเนื่องจากจำเป็นต้องเรียกคืนหน่วยความจำ) สถานะของกิจกรรมบางครั้งจะถูกบันทึกและเรียกคืนโดยอัตโนมัติโดยใช้วิธีการonSaveInstanceState()และonRestoreInstanceState()ดังที่แสดงในรูปต่อไปนี้ (เช่นกัน จากเอกสารอย่างเป็นทางการ ):

ฉันทราบดีว่าonSaveInstanceState()จะไม่ถูกเรียกเสมอไปเมื่อกิจกรรมกำลังจะถูกทำลาย ตัวอย่างเช่นหากถูกทำลายเนื่องจากผู้ใช้กดปุ่ม "ย้อนกลับ" สถานะกิจกรรมจะไม่ถูกเก็บรักษาไว้ แต่ในกรณีที่สถานะถูกบันทึกและกู้คืนและonSaveInstanceState()/ onRestoreInstanceState()ได้รับการเรียกมันถูกเรียกเมื่อใด
ยกตัวอย่างเช่นตามตัวเลขดังกล่าวข้างต้นonRestoreInstanceState()อาจจะเรียกว่าก่อนonStart()หรือหลังonStart()แต่ก่อนหรือหลังonResume() ในทำนองเดียวกันเป็นไปได้หลายที่มีอยู่สำหรับonResume() onSaveInstanceState()พวกเขาเรียกว่าเมื่อไหร่กันแน่?
ตามหลักการแล้วสิ่งที่ฉันต้องการคือดูแผนภาพรวมที่แสดงสถานะวงจรชีวิตของกิจกรรมและวิธีการบันทึก / กู้คืนหากมีอยู่