תמונת מצב

תמונת מצב היא תמונה שמורה של מכשיר וירטואלי של Android ‏ (AVD) ששומרת את כל מצב המכשיר בזמן השמירה – כולל הגדרות מערכת ההפעלה, מצב האפליקציה ונתוני המשתמש. אתם יכולים לחזור למצב מערכת שמור על ידי טעינת תמונת מצב, וכך לחסוך את הזמן שנדרש להפעלה מחדש של מערכת ההפעלה והאפליקציות במכשיר הווירטואלי, וגם את המאמץ שנדרש כדי להחזיר את האפליקציה למצב שבו אתם רוצים להמשיך את הבדיקה. הפעלת מכשיר וירטואלי על ידי טעינת תמונת מצב דומה מאוד להעברה של מכשיר פיזי ממצב שינה למצב פעיל, בניגוד להפעלה שלו ממצב כבוי.

לכל מכשיר AVD יכול להיות קובץ snapshot אחד של הפעלה מהירה ומספר כלשהו של קובצי snapshot כלליים.

הדרך הכי פשוטה להשתמש בתמונות מצב היא ליצור תמונת מצב של אתחול מהיר. כברירת מחדל, כל מכשיר AVD מוגדר לשמירה אוטומטית של קובץ snapshot של אתחול מהיר ביציאה ולטעינה מקובץ snapshot של אתחול מהיר בהפעלה.

בפעם הראשונה שמפעילים מכשיר AVD, צריך לבצע הפעלה במצב התחלתי (cold boot), בדיוק כמו שמפעילים מכשיר. אם ההגדרה 'הפעלה מהירה' מופעלת, כל ההפעלות הבאות נטענות מתמונת המצב שצוינה, והמערכת משוחזרת למצב שנשמר בתמונת המצב הזו.

אפשר להפעיל AVD עד פי 10 יותר מהר באמצעות snapshot של הפעלה מהירה מאשר באמצעות הפעלה קרה. לכן מומלץ להשתמש באפשרות 'הפעלה מהירה' (אם אפשר) אחרי ההפעלה הראשונית ב-AVD.

תמונות המצב תקפות לתמונת המערכת, להגדרת ה-AVD ולתכונות האמולטור שבהן הן נשמרו. כשמבצעים שינוי באחד מהאזורים האלה, כל התמונות של ה-AVD המושפע הופכות ללא תקפות. כל עדכון של Android Emulator, תמונת המערכת או הגדרות ה-AVD מאפס את המצב השמור של ה-AVD, ולכן בפעם הבאה שתפעילו את ה-AVD, תצטרכו לבצע הפעלה קרה.

רוב אמצעי הבקרה לשמירה, לטעינה ולניהול של תמונות מצב נמצאים בכרטיסיות Snapshots (תמונות מצב) ו-Settings (הגדרות) בחלונית Snapshots (תמונות מצב). אם מריצים את האמולטור בחלון כלי ב-Android Studio, הלחצן Snapshots נמצא בסרגל הכלים של האמולטור. אם מריצים את האמולטור בחלון עצמאי מחוץ ל-Android Studio, החלונית Snapshots נמצאת בחלון Extended controls.

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

שמירת תמונות מצב של אתחול מהיר

אתם יכולים לציין אם האמולטור ישמור באופן אוטומטי תמונת מצב כשאתם סוגרים אותו. כדי לשלוט בהתנהגות הזו, מבצעים את הפעולות הבאות:

  1. פותחים את הגדרות התמונות הממוזערות. אם האמולטור מוטמע ב-Android Studio, לוחצים על Snapshots (תמונות מצב) בסרגל הכלים. אם האמולטור נמצא בחלון נפרד, פותחים את החלון Extended controls (אמצעי בקרה מתקדמים).
  2. בקטגוריית אמצעי הבקרה תמונות מצב, עוברים לכרטיסייה הגדרות.
  3. בתפריט שמירה אוטומטית של המצב הנוכחי להפעלה מהירה, בוחרים באחת מהאפשרויות הבאות:

    • כן: תמיד נשמרת תמונת מצב של AVD כשסוגרים את האמולטור. זוהי ברירת המחדל.

    • לא: לא נשמרת תמונת מצב של AVD כשסוגרים את האמולטור.

הבחירה חלה רק על ה-AVD שפתוח. אי אפשר לשמור תמונות מצב בזמן ש-ADB במצב אופליין (למשל, בזמן שה-AVD עדיין בהפעלה).

שמירת תמונות מצב כלליות

אפשר ליצור רק קובץ snapshot אחד של הפעלה מהירה לכל מכשיר AVD, אבל אפשר ליצור כמה קובצי snapshot כלליים לכל מכשיר AVD.

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

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

מחיקת קובץ snapshot

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

אפשר גם לציין אם רוצים שהאמולטור ימחק באופן אוטומטי תמונות מצב כשהן לא תקפות יותר, למשל כשמשנים את הגדרות ה-AVD או את גרסת האמולטור. כברירת מחדל, האמולטור שואל אם רוצים למחוק תמונות מצב לא תקינות. אפשר לשנות את ההגדרה הזו בתפריט מחיקת תמונות מצב לא תקינות בכרטיסייה הגדרות בחלונית תמונות מצב.

טעינת תמונת מצב

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

ב-Android Studio מגרסה 3.2 ואילך, כל הגדרת מכשיר כוללת את האפשרות Boot option בהגדרות המתקדמות בתיבת הדו-שיח Virtual Device Configuration. אתם יכולים להשתמש באמצעי הבקרה כדי לציין איזו תמונת מצב לטעון כשמפעילים את ה-AVD.

השבתת האתחול המהיר

אם רוצים להשבית את האתחול המהיר כדי שמכשיר ה-AVD תמיד יבצע אתחול קר, צריך לפעול לפי השלבים הבאים:

  1. בוחרים באפשרות Tools > Device Manager ולוחצים על Edit this AVD .
  2. לוחצים על הצגת הגדרות מתקדמות וגוללים למטה אל ביצועים מדומיים.
  3. בוחרים באפשרות אתחול קר.

אתחול קר פעם אחת

במקום להשבית לגמרי את האתחול המהיר, אפשר לבצע אתחול קר על ידי לחיצה על Cold Boot בתפריט של AVD בDevice Manager.

דרישות ופתרון בעיות בצילום תמונות

  • אי אפשר להשתמש בתמונות מצב ב-Android 4.0.4 (רמת API ‏15) ומטה.
  • תמונות מצב לא פועלות עם תמונות מערכת ARM ל-Android 8.0‏ (API ברמה 26).
  • אם האמולטור לא מצליח לבצע אתחול מתמונת מצב, בוחרים באפשרות Cold Boot עבור ה-AVD במנהל המכשירים ושולחים דוח על באג.
  • כשמופעלת הצגת תוכנה, התמונות הממוזערות לא אמינות. אם הצילומים לא פועלים, לוחצים על Edit this AVD (עריכת ה-AVD הזה) בDevice Manager (מנהל המכשירים) ומשנים את Graphics (גרפיקה) לHardware (חומרה) או לAutomatic (אוטומטי).
  • טעינה או שמירה של תמונת מצב הן פעולות שדורשות הרבה זיכרון. אם אין מספיק זיכרון RAM פנוי כשמתחילה פעולת טעינה או שמירה, יכול להיות שמערכת ההפעלה תעביר את התוכן של ה-RAM לדיסק הקשיח, מה שיכול להאט מאוד את הפעולה. אם טעינת ה-snapshot או השמירה שלו איטיות מאוד, אפשר לפנות זיכרון RAM כדי להאיץ את הפעולות האלה. דרך טובה לפנות זיכרון RAM היא לסגור אפליקציות שלא חיוניות לעבודה.