חיי סוללה נותר אחד הגורמים הקריטיים ביותר ב-Mobile Toolability, במיוחד עבור משתמשים שמבוססים על יישומי iOS שלהם לאורך היום. כמו יישומים להיות יותר עשיר תכונה, הביקוש לעיבוד מתמשך, פעילות רשת, ועלויות גרפיקה ברזולוציה גבוהה, המוביל לניקוז סוללות מהיר יותר.זה לא רק מנקה משתמשים אבל יכול גם להוביל לשיעורי שימור נמוכים יותר וסקירות שליליות.

הבנת צריכת סוללות ב- iOS Apps

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

  • (FLT:0Display and Backlight:FLT:1 המסך הוא לעתים קרובות הצרכן הכוח הגדול ביותר.בהירות גבוהה, פעמים ארוכות מסך, ופעמים תכופות נסוגות מאנימציה או אפקטיביות UI עדכונים כל הפחתת ניקוז.
  • (FLT:0Network Activity:BuildFLT:1 , מודמים ו-Wi-Fi רדיו משתמשים בכוח משמעותי בעת שידור או קבלת נתונים. Frequent, רשתות קטנות הן יעילות במיוחד משום שהרדיו חייב להיות, להתחבר, כוח שוב לכל מפגש.
  • (FLT:0) Background Tasksib: FLT:1 Apps הממשיכים להפעיל תהליכים ברקע - כגון עדכוני מיקום, רקע תשואות, או חיבורי VoIP - יכול למנוע את המכשיר להיכנס למצב של כוח נמוך.
  • (FLT:0CPU ו GPU לטעון:FLT:1 חישובים מורכבים, גרפיקה כבדה, הלולאות מופרזות לשמור על המעבד פעיל, לצייר כוח פרופורציה לטעון.
  • (FLT:0) רגישות: גישה רציפה לחיישנים כמו GPS, מד תאוצה או מיקרופון יכול לנקז במהירות את הסוללה, במיוחד אם האפליקציה אינה מנהלת את שערי הדגימה או משתמשת ברמות הדיוק הנכונות.

זיהוי של רכיבים אלה הוא האשם העיקרי באפליקציית שלך דורש סינון עם כלים כגון הכרטיסייה של Xcode של Energy Diagnostics ב- Instruments. יומן האנרגיה מראה התמוטטות מפורטת של השימוש ב- CPU, פעילות רשת ושימוש במיקום לאורך זמן, המאפשר אופטימיזציה ממוקדת.

אסטרטגיות מפתח למפתחים

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

המונחים: differentmize Activity

ביצוע רקע הוא ניקוז סוללה גדול. iOS מספק מספר מנגנונים עבור עבודה רקע, אבל כל אחד צריך לשמש בחריפות.FLT:0Back BringgroundsFLT 1 1 מאפשר יישומים להוריד כמויות קטנות של נתונים מעת לעת, אבל תדירות הוא מערכת-מקודמת מספיק כדי להגדיר את מערכת ההפעלה:0 לרווחה הטובה ביותר (למשל, אם אין צורך בעדכוני רקע) עבור הפעלת מערכת ההפעלה הנכונה, כלומר, כלומר, כלומר, כלומר, אם יש צורך ב-APGIRD2GREFET (בהתאמה אישית, כדי להפחית את הפעילות של מערכת ההפעלה של מערכת ההפעלה של מערכת ההפעלה של מערכת ההפעלה של מערכת ההפעלה של מערכת ההפעלה של מערכת ההפעלה (FLT) במקום זאת, במקום זאת, במקום זאת, במקום זאת, כדי להפחית את ה-FLT2GR) עם מחזור זמן טיפול יעיל יותר מאשר את ה-FLT) עם מחזור זמן טיפול יעיל (בחזרה של מערכת ההפעלה (בחזרה של מערכת ההפעלה של מערכת ההפעלה (בחזרה של מערכת ההפעלה של מערכת ההפעלה (בחזרה להפחתה של מערכת ההפעלה של מערכת ההפעלה של זמן טיפול יעיל יותר נכון יותר מאשר טיפול ב-FLT2GLT) עם מחזור עבודה עם מחזור זמן טיפול יעיל של זמן טיפול ב-FLT2GLT2GLT) עם

(ה) אם האפליקציה שלך משתמשת בשירותי מיקום, בחר את רמת הדיוק המתאימה.במקום עדכונים GPS בעלי ביצועים גבוהים, השתמש ב-GPS:0region MonitorFLT:1 או FLT:2 חסר משקל שירות מיקום שירות 3FLT 3 עבור מעקב מיקום קורקזה.

אופטימיזציה רשת Usage

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

  • (FLT:0) מבקשות רשת בוצ'ט: במקום לעשות שיחות API קטנות רבות, לאסוף נתונים לבקשות פחות גדולות.הרדיו מוציא פחות זמן במצב שידור בעוצמה גבוהה כאשר הוא יכול לשלוח פרץ של נתונים ולאחר מכן idle.
  • (FLT:0) מורידים את ההורדה הפרוגרסיבית:FLT:1evolve for Large Assets likeתמונות או קבצי וידאו, הורדו רק את הנתונים הדרושים באופן מיידי.
  • (FLT:0) HTTP / 2 או QUICIR:FLT 1:1 פרוטוקולים אלה להפחית את הקשר מעל פני הראש ולאפשר זרמים מרובים, הורדת צריכת האנרגיה לפי בקשה.
  • (ב) ,0) ,5 ,5 , השתמש בפגישות רקע עבור העברות אשר יש להמשיך גם אם האפליקציה מושעה.
  • (FLT:0)Compress payloads:FLT:1rea השתמש gzip או דחיסה ברוטלי בצד השרת. , נתונים קטנים יותר מקטין את זמן השידור וכוח רדיו.

בהתחשב בהודעות FLT:0 פיזור 1 (FLT) במקום סקרן. Push הוא יותר יעיל אנרגיה כי המערכת שומרת על קשר קבוע אחד עבור כל האפליקציות, והאפליקציית רק מתעוררת כאשר נתונים חדשים מגיעים.

הוצאה לפועל של קוד יעיל

אלגוריתמים יעילים והשימוש ב- CPU מופרז הם ניקוז סוללות מוסתרות.פרופיל הקוד שלך עם (FLT:0Xcode's Time פרופילrcioFLT:1 כדי לזהות נקודות חמות.

  • (ב) ,0) לא נדרשות של הלולאות: ⁇ FLT:1 השתמש בזמני זמן רק כאשר בלתי נמנע; מעדיף את הקריאות או שיחות הציר שהמערכת בוערת כאשר התנאים משתנים.
  • (ב) ,0) חישובים על הטבלה העיקרית: חליל 1 (העברה) עבודה לקווי רקע (באמצעות FLT 7 או FLT:8) כדי לשמור על הלולאה העיקרית ללא עדכונים UI.
  • (ב) ⁇ :0) עצלות: 1 (תמונות, מודלים של נתונים, בקרי תצוגה) רק כאשר נדרש במקום לנסח את הכל בהשקת אפליקציה.
  • (ב) ,0) ,התבצר חפץ: (הופנה מהדף ⁇ :1 ), פריטים שבהם ניתן, במיוחד בלולאות הדוקות (למשל, בעת עיבוד נתונים מחיישנים).

עבור פעולות קידוד גבוה כמו Core ML inference או Metal Shadowr ביצוע, מכשירי iOS יש חומרה ייעודית (Neural Engine, GPU) כי הוא הרבה יותר יעיל כוח מאשר CPU.וודא שאתה משתמש ב- API המתאים ביותר עבור עומס העבודה שלך - לדוגמה, באמצעות FLT:0Device CheckFLT:1 או FLT:2ARKitFLT עם 3:3 הוא טוב יותר מאשר פתרונות CPU מותאם אישית.

ממשקי API יעילים

iOS מציע מספר ממשקי API שתוכננו במיוחד לצריכת חשמל נמוכה.שימוש אלה יכול באופן אוטומטי לחסוך סוללות ללא אופטימיזציה אישית:

  • (ב) [15] ⁇ עם תצורה של רקע: ⁇ 1:1 כפי שהוזכר, הוא מטפל העברות בתהליך נפרד שהוא פחות כוח-רגיש מאשר פעילות שטחית.
  • (ב) .10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10
  • (ב) ,0) מיקום קוור - עדכונים מופרכים: גרף 1 (ב) כאשר פועל ברקע, עדכוני מיקום ניתן להסיק באמצעות FLT:10 ).
  • (ב) [ה]התמונים:0] אוררגיה: (FLT:1hil) השתמש ב-(FLT:11 כדי להתאים את התנהגות האפליקציה כאשר המשתמש אפשר ל- Low Power Mode.

המונחים: Hardware Optimizations

אייפון מודרני כולל חומרה ניהול חשמל כמו FLT:0M-series תנועה coprocessorsFLT 1 וקודמים ייעודיים / קודרים. Offload נתונים עיבוד ליחידות אלה בכל פעם שניתן.לדוגמה, להשתמש ב-(FLT:12 עם חומרה מקודמת H.264/H265 במקום תוכנה ⁇ , מודלים Core ML יכולים לרוץ על הניאל באמצעות ה-FLT באמצעות מכשיר ה-CPU של CPU של שימוש ב- CPU של CPU של CPU של CPU של שימוש ב- CPU של CPU של C.264 / H.

כמו כן, חשוב על ביצועי FLT:0 (Metal Performance shadowrsFLT:1) לעיבוד תמונות - הם רצים על GPU, שהוא יותר יעיל אנרגיה מאשר CPU עבור עומסי עבודה מקבילים.תמיד לבדוק את המכשירים הפיזיים, שכן הסימול אינו מודל התנהגות כוח באופן מדויק.

טיפים והגדרות של משתמשים

בעוד מפתחים שולטים הרבה בצריכת החשמל, למשתמשים יש גם אפשרויות להאריך את חיי הסוללה במהלך שימוש באפליקציות כבדות.הבא-app מאפשר למשתמשים להנחות הגדרות טובות יותר:

  • (FLT:0) בהירות מסך: FLT:1Build) לעודד משתמשים להפחית באופן ידני בהירות או לאפשר צדקות אוטומטית (הגדרות > תצוגה & Brightness).
  • (FLT:0) תנאי כוח נמוך: FLT:1 מציע לאפשר מצב נמוך כוח כאשר הם מצפים לשימוש מתמשך (הגדרות > סוללה) המערכת תקטין באופן אוטומטי את פעילות הרקע וביצועים.
  • (FLT:0) העלאת קצב רענון:FLT:1חיקוי למכשירים עם ProMotion (120Hz תצוגה), משתמשים יכולים להגביל את קצב המסגרת ל 60Hz בהגדרות > גישה > > דרישות מסגרת גבול יכול גם לכבד זאת על ידי פירוק 120 אנימציה כאשר לא צריך.
  • (FLT:0) יישומים מיותרים: FLT:1 למרות iOS מטפל רב-tasking ביעילות, יישומי רקע עדיין לצרוך כמה משאבים.
  • (FLT:0) הפעל שירותים מיותרים: FLT:1 Bluetooth, Wi-Fi ושירותי מיקום ניתן לכבות כאשר לא צריך.עבור מיקום, משתמשים יכולים להגדיר הרשאות ל "בזמן השימוש" במקום "תמיד".

ניתן גם להוסיף (FLT:0)Low Power Mode DetectionFLT:1) באפליקציית שלך כדי להפחית באופן אוטומטי את השימוש במשאב (למשל, איכות וידאו נמוכה יותר, להפסק מסנכרן, להפחית את תדירות הסקרים).

מסקנה

(התייעלות חיי הסוללה ביישומים של iOS אינה משימה חד פעמית, אלא תהליך מתמשך הדורש הבנה בין חומרה, שירותי מערכת וקוד יישומים (API) ועד לסינון מוקדם, באמצעות ממשקי API יעילים, צמצום יצירת רקע, והערכה של אפשרויות ניהול כוח משתמש 6, מפתחי דיפאקס יכולים ליצור יישומים המספקים חוויות שימוש קבועות מצוינות ללא ניקוז של יעילות המשתמשים, צמצום שביעות רצון, צ'נדר, ועזרה בין היתר ל-אופטיקה ל-אופטיקה: