วงจรชีวิตของแอปพลิเคชัน Android

พื้นฐานคู่มือการเขียนโปรแกรม Android-2

เมื่อคุณเริ่มเขียนโปรแกรมในภาษาเช่น C ++ หรือ Java สิ่งแรกที่จะสอนคือวิธีการหลักจุดที่ระบบปฏิบัติการจะเรียกเมื่อเราเริ่มแอปพลิเคชันของเรา

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

วงจรชีวิตของ Android เป็นไปตามรูปแบบนี้:

วงจรชีวิตของ Android

เหตุการณ์ในวงจรชีวิต

  1. onCreate (Bundle)
    • แสดงถึงช่วงเวลาที่ สร้างกิจกรรมแล้ว. โดยปกติวิซาร์ดจะสร้างวิธีนี้เมื่อสร้างกิจกรรมใหม่บน Android และเป็นที่ที่เราจะสร้างทุกสิ่งที่กิจกรรมต้องการ หากเราได้บันทึกข้อมูลกิจกรรมไว้ก่อนหน้านี้ในออบเจ็กต์ Bundle เราสามารถใช้ข้อมูลนั้นเพื่อสร้างใหม่ได้ ปกติเราจะไม่ใช้มัน
  2. onStart ()
    • กิจกรรมจะดำเนินต่อไป อยู่บนหน้าจอแม้ว่าจะไม่จำเป็นต้องมองเห็นได้ ถ้าเรามาจากจุดหยุดเราจะไปที่ onRestart () ก่อน
  3. onRestart ()
    • ก่อนหน้าถึง onStart () เมื่อเรามาจากการโทรไปที่ onStop ()
  4. onResume ()
    • กิจกรรมจะเริ่มขึ้น ตอบสนองต่อการโต้ตอบ ผู้ใช้
  5. onPause ()
    • กิจกรรมจะ หยุดการตอบสนอง เพื่อโต้ตอบกับผู้ใช้
  6. onStop ()
    • กิจกรรมได้ไปอย่างสมบูรณ์ พื้นหลัง.
  7. onDestroy ()
    • กิจกรรม มันจะถูกทำลาย และทรัพยากรของคุณถูกปล่อยออกมา

เมื่อเราจำเป็นต้องใช้วิธีใดวิธีหนึ่งเหล่านี้เราจะเพิ่มเข้าไปในกิจกรรมของเราด้วยโปรไฟล์เหล่านี้:

คลาสสาธารณะ MyActivity ขยายกิจกรรม {โมฆะป้องกัน onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); ... } โมฆะป้องกัน onStart () {super.onStart (); ... } โมฆะป้องกัน onRestart () {super.onRestart (); ... } โมฆะป้องกัน onResume () {super.onResume (); ... } โมฆะป้องกัน onPause () {... super.onPause (); } โมฆะป้องกัน onStop () {... onStop (); } โมฆะป้องกัน onDestroy () {... super.onDestroy (); }}

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

เราไม่จำเป็นต้องเพิ่มเหตุการณ์ทั้งหมดสิ่งที่เราไม่ต้องการจะใช้การใช้งานเริ่มต้น วิธีการที่เรามักจะใช้ - และไม่แนะนำให้แตะต้องคนอื่นคือ onCreate, onPause และ onRestart

ความหมายของ onCreate นั้นชัดเจน: เป็นสถานที่ที่เราจะโหลดทรัพยากรที่เราต้องการมุมมองและสิ่งอื่น ๆ ที่เราต้องการ สำหรับผลลัพธ์วิธีเดียวที่เราจะเน้นคือ onPause เหตุผลในการหลีกเลี่ยง onStop และ onDestroy คือเราไม่สามารถควบคุมสิ่งเหล่านี้ได้ onPause จะทำงานเมื่อใดก็ตามที่แอปพลิเคชันออกมาจากเบื้องหน้าในขณะที่อีกสองโปรแกรมจะถูกเรียกใช้โดยระบบปฏิบัติการตามความต้องการของคุณ พวกเขาอาจไม่ถูกประหารชีวิต! สิ่งนี้ทำเพื่อหลีกเลี่ยงค่าใช้จ่ายในการสร้างกิจกรรมซ้ำแล้วซ้ำเล่าหากเราเปลี่ยนจากกิจกรรมไปยังเดสก์ท็อปและในทางกลับกันและระบบปฏิบัติการจะปลดปล่อยทรัพยากรที่ใช้หากต้องการเท่านั้นและไม่จำเป็นต้องเข้าร่วมทั้งหมด กระบวนการเปิด

นั่นหมายความว่าเราจะถือว่าแอปพลิเคชันจะตายหลังจากดำเนินการ onPause และเป็นของเรา โอกาสสุดท้ายในการบันทึกข้อมูล ที่เราต้องบันทึกและหยุดบริการที่เราใช้อยู่เช่นการระบุตำแหน่งทางภูมิศาสตร์ หากเราหยุดให้บริการสถานที่ที่เหมาะสมในการรีสตาร์ทคือ onRestart

ส่วนวิธีอื่น ๆ นั้นเราจะไม่ต้องใช้อะไรมาก กรณีทั่วไปที่เราจำเป็นต้องใช้คือเมื่อเรารวมไลบรารีของบุคคลที่สามเช่น Facebook หรือ Flurry ในกรณีเหล่านี้เราจะขอให้จับคู่วิธีการทำกิจกรรมของเรากับรหัสของคุณ ตัวอย่างเช่นในการลงทะเบียนเซสชัน Flurry เราจะถูกขอให้เริ่มเซสชันในเมธอด onStart

แนวคิดที่เป็นประโยชน์

  • จำไว้ว่าแต่ละงานมีไว้เพื่ออะไร. คุณจะต้องใช้ onCreate เสมอและบ่อยครั้งที่คุณต้องใช้ onPause และ onResume เพื่อหยุดและเปิดใช้บริการที่มีผู้ใช้มากที่สุดอีกครั้ง
  • อย่าแตะต้องเหตุการณ์อื่น ๆ ถ้าคุณไม่ต้องการมันอย่างชัดแจ้ง
  • อย่าไว้วางใจ onStop และ onDestroy พวกเขาอาจไม่ถูกเรียก. บันทึกทุกสิ่งที่คุณต้องการใน onPause
  • หลีกเลี่ยงการใช้ตัวแปรคงที่ที่ไม่ใช่ขั้นสุดท้าย. แอปยังสามารถโหลดได้เมื่อคุณกลับมาและแอปจะยังคงรักษาค่าที่ทิ้งไว้ หากคุณไม่มีทางเลือกอื่นนอกจากใช้ให้แน่ใจว่าได้รีเซ็ตค่าเมื่อคุณกลับไปที่พื้นหน้า

ข้อมูลมากกว่านี้ - คำแนะนำพื้นฐานสำหรับการเขียนโปรแกรมใน Android


คุณสนใจใน:
วิธีลบไวรัสบน Android
ติดตามเราบน Google News

แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: Actualidad Blog
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา