1 of 15

Lifecycle

activity

2 of 15

Activity

3 of 15

פעולה זו נקראת כאשר אקטיביטי נוצרת לראשונה.

כאן מתבצעת יצירת ממשק המשתמש

באמצעות פעולה setContentView()

onCreate()

Activity

4 of 15

לא מומלץ לבצע פעולות ארוכות טווח ב-onCreate():

כמו הורדת נתונים מהרשת או ביצוע חישובים מורכבים, למשל.

הסיבה לכך היא ש-onCreate() פועל על הזרם הראשי

וכל פעולה ארוכת טווח יכולה להאט את התגובה של ממשק המשתמש ולגרום ל- Application Not Responding

(האפליקציה מפסיקה להגיב לאינטראקציות של המשתמש).

onCreate()

Activity

5 of 15

עצם מסוג Bundle המופיע כפרמטר ב-onCreate() יכול לשמש או להעברת נתונים בין אקטיביטי לאקטיביטי,

או כדי לשמור את המצב של אקטיביטי

כאשר היא נוצרת מחדש.

onCreate()

Activity

6 of 15

כאשר אקטיביטי נוצרת מחדש

(למשל, כאשר המסך מסובב או שינוי תצורת המכשיר), המערכת קוראת לפעולה onCreate() ומעבירה לה את האובייקטBundle כפרמטר.

אם האקטיביטי הושמדה ונוצרת מחדש,

ה"חבילה" יכולה להכיל נתונים שמורים

(שנשמרו בקריאה קודמת לפעולה).

onCreate()

Activity

7 of 15

onCreate()

דוגמה לשמירת נתונים כדי לא לאבד אותם

Activity

8 of 15

onCreate()

דוגמה ל"חילוץ" של הנתונים שנשמרו

Activity

9 of 15

פעולה זו נקראת כאשר האקטיביטי

הופכת לגלויה למשתמש.

עם זאת, בשלב זה האקטיביטי

עדיין לא מוכנה לאינטראקציה עם המשתמש מכיוון שהיא עשויה להיות מוסתרת חלקית על ידי רכיבי ממשק משתמש אחרים

(ע"י חלון AlertDialog, למשל).

onStart()

Activity

10 of 15

פעולה זו מתבצעת כאשר

אקטיביטי הופכת להיות נגישה למשתמש.

כדאי לשקול ולהחליט

אילו פעולות להפעיל ב-onStart()

ואילו פעולות להפעיל ב-onResume()

onResume()

Activity

11 of 15

שוב: פעולה זו נקראת כאשר האקטיביטי

מתחילה ליצור אינטראקציה עם המשתמש.

בשלב זה, האפליקציה שלך נמצאת בחזית והמשתמש יכול ליצור איתה אינטראקציה.

onResume()

Activity

12 of 15

פעולה זו נקראת כאשר האקטיביטי הנוכחית מאבדת מיקוד ונכנסת לרקע.

זה קורה כאשר בגלל פעילות כלשהי

"מסך" מאבד "מצב אקטיבי" (focus),

אבל עדיין נמצא "בשכבה תחתונה".

פעולה זאת מתאימה לשמירת נתונים

שעלולים להימחק

onPause()

Activity

13 of 15

פעולה זו נקראת כאשר האקטיביטי

כבר אינה גלויה יותר למשתמש.

לדוגמה, כאשר המשתמש עובר לאפליקציה אחרת.

בפעולה זו מומלץ לבצע, למשל:

שחרור משאבים

עצירת אנימציה

לשמור נתונים

onStop()

Activity

14 of 15

פעולה זו נקראת לפני השמדת האקטיביטי.

זה יכול לקרות בגלל שהמערכת "הורגת"

את התהליך או בגלל שנקראת פעולה finish()

onDestroy()

Activity

15 of 15

פעולה זו נקראת לאחר שהפעילות שהופסקה הופכת שוב לגלויה.

Application

onRestart()