שְׁאֵלָה:
כיצד משפיע השימוש בזיכרון על ניקוז הסוללה?
Min Naing Oo
2014-04-08 12:34:34 UTC
view on stackexchange narkive permalink

אני ממש מבולבל בנוגע לניהול זיכרון אנדרואיד.

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

האם זה אומר ששימוש בזיכרון רב מדי אינו מסלק את הסוללה? מכיוון ש- RAM הוא חומרה, להחזיק משהו עליו לא צריך לרוקן את הסוללה? מה אם הייתי משחק את Temple Run ופשוט לחץ על כפתור הבית כדי שהאפליקציה תיטען מהר יותר בפעם הבאה שאפעיל? או שמא עלינו פשוט ללחוץ על כפתור הקודם עד ליציאת האפליקציה כמו תמיד? חיפשתי גם באינטרנט אך חלקם אמרו שהוא יזרוק את הסוללה כשהוא יושב על זיכרון RAM, חלקם אמרו שאין הבדל בין זיכרון RAM מחזיק בנתונים בפועל או כלום. האם עלינו להרפות מההרגל שלנו להרוג אפליקציות ופשוט להרגיש רגועים?

כמה תשובות מדויקות יתקבלו בהערכה רבה. תודה. :)

זיכרון ה- RAM שלך הוא אחד מחלקות החומרה הרעועות ביותר שלך ...
הדוגמה שלך שמופעלת על ידי המקדש לא עשויה להיות הטובה ביותר: מכיוון שמשחקים יכולים להיות רעבים לזיכרון, הם גם ייהרגו די מהר, או באופן פעיל ישמור את הנתונים החשובים כאשר הם נשלחים לרקע. במקרה זה הוא עשוי לטעון קצת יותר מהר משום שחלק קטן כלשהו עדיין נטען, אך נתוני המשחק כנראה יצטרכו להיטען בכל מקרה. דוגמה טובה יותר תהיה לקוח טוויטר פשוט: שעשוי להתאים נחמד ונעים בזיכרון ה- RAM שלך עד שתזדקק לו שוב.
שֵׁשׁ תשובות:
Flow
2014-04-08 12:59:41 UTC
view on stackexchange narkive permalink

אני בספק שיש קשר ישיר בין צריכת הסוללה לבין השימוש ב- RAM. החומרה אינה יודעת אילו תאי RAM מכילים נתונים 'משומשים' ואילו לא. כך שלא יכול להיות הבדל בצריכת הסוללה ברמה זו.

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

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

מצד שני, יש אפליקציות שלא מתנהגות שמתעוררות ולא חוזרות לישון בפרק זמן סביר. אלה האפליקציות שיכולות מאוד לגרום ללקויות בסוללה. אתה יכול להסתכל עליהם באמצעות [גלאי Wakelock] (https://play.google.com/store/apps/details?id=com.uzumapps.wakelockdetector)
לכן אמרתי שאפליקציות שמשתמשות באופן קבוע במעבד בדרך כלל פגומות או לפחות מיושמות בצורה גרועה. שים לב שלא הייתי ממליץ להשתמש באפליקציות כמו גלאי Wakelock שכן פונקציונליות זו היא כעת חלק מאנדרואיד (עם 4.4 IIRC).
Dan Hulme
2014-04-08 13:51:13 UTC
view on stackexchange narkive permalink

חשוב על זיכרון RAM כמו מחברת נייר. אתה יכול לכתוב נתונים לתוך הספר (עם עיפרון), ותוכל למחוק את הנתונים ולהחליף אותם בנתונים חדשים, אך הספר תמיד משקל זהה. הספר לא כבד יותר, מה שלא תכתוב בו. באותה דרך, בטכנולוגיית ה- RAM הנוכחית, השימוש בסוללה ב- RAM קבוע, ללא קשר למה (אם בכלל) שמור בו.

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

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

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

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

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

לחשוב על זה ככה, קל לענות על שאלתכם. שימוש בזיכרון RAM רב יותר אינו משתמש ישירות יותר בכוח. אפליקציית מנהל משימות יכולה לגרום לך להשתמש בכוח רב יותר מכיוון שאתה צריך להעתיק דברים מהאחסון הפנימי ל- RAM שלא היית צריך אחרת. באותו אופן, אפליקציה אחת רעבת RAM עולה לך פעמיים: תחילה עליך לכתוב את כל המידע של אותה אפליקציה במחברת, ואז כשאתה מסיים איתה, יש הרבה מידע שהיה עליך למחוק (כדי להכין רווח), שעליך להעתיק מדף הספרים.

האה, אני אוהב את האנלוגיה (+1). (אם כי, טכנית, אם אתה כותב משהו במחברת זה ישקלל * רק קצת * יותר ... אבל אני ביקורתי מדי.) משהו אחר שיש לציין עבור @MinNaingOo הוא שאם אתה מנהל מנהל משימות, שמנהל המשימות משתמש גם במחזורי כוח (AKA CPU) כדי לעשות את מה שהוא צריך לעשות. מכאן ... נעשה שימוש בסוללה נוספת.
אולי כדאי להזכיר את אספן הזבל. המחברת שלך לא מכילה רק מידע שאולי תזדקק לו שוב. הוא מכיל גם "אשפה" - מידע שבהחלט לא תזדקק עוד לעולם. הסיבה לכך היא שאנדרואיד עצלן ואפילו לא מוחק את הזבל עד שהוא זקוק ליותר זיכרון. כשאתה חסר זיכרון, זה יאסוף את הזבל הזה כדי לחסוך מקום. אם חסר לך זיכרון לעתים קרובות, אז הוא אוסף אשפה בתדירות גבוהה יותר וישתמש בסוללה רבה יותר.
@James_pic על זה הפסקה הרביעית. אני לא רוצה להכניס אליו גם את ה- GC בתוך האפליקציה, מכיוון שזה נושא גדול יותר ורלוונטי רק למתכנתים.
"ההבדל היחיד שהיא עושה הוא לשנות את מה שהאפליקציה מראה לך בפעם הבאה שתפעיל אותה" - אה, בעיקר נכון, אבל לא תמיד. "חזרה" אומר לאפליקציה, "בסדר, סיימתי", כך שהיא תוכל לבצע ניקוי נוסף באופן מיידי. הרגתי את תוכנית הנתונים שלי יום אחד כאשר פגעתי בטעות ב"בית "במקום" חזרה "ממפות גוגל - היא המשיכה להתעדכן ברקע.
**> החלקה של אפליקציה מרשימת 'היישומים האחרונים' לא הורגת את האפליקציה ולא מסירה אותה מה- RAM. ** זה השתנה בגירסאות האחרונות של Android. ראה למשל: https://code.google.com/p/android/issues/detail?id=63618
@Izkata האפליקציה חופשית לטפל בכפתור האחורי אולם היא אוהבת: מה שאני מתאר זה ההתנהגות של אנדרואיד עצמה.
Ilo
2014-04-08 13:07:17 UTC
view on stackexchange narkive permalink

כפי שהסביר לך המאמר, זה לא משנה כמה דברים נטענים בזיכרון ה- RAM, אז זה לגמרי בסדר אם אתה לא סוגר את היישומים שאינם פעילים. אבל אם האפליקציה כל הזמן עושה פעילות כלשהי, כמו סנכרון נתונים מסוימים, או הורדה, או אפילו הקלטת צליל, היא תנקז את הסוללה שלך מכיוון שהיא משתמשת במעבד, ששואב את האנרגיה מהסוללה שלך, במקרה כזה, סגירת האפליקציות הייתה להיות דבר טוב שיש לקחת בחשבון. אחרת, אם אתה בטוח שהאפליקציה לא תבצע פעילות מתמדת ברקע, אז אתה לא צריך לדאוג שהיא תישמר בזיכרון, זה בדיוק כמו לאחסן את הקבצים שלך ב- SDCard (כלומר SDCard לא השתמש בסוללה, נכון?). אז פשוט תירגע :) אני מניח שהרצת המקדש לא עושה שום פעילות ברקע, אז אל תדאג להשאיר את זה באיל. מקווה שהסברתי לך. לחיים!

bluehallu
2014-04-08 15:01:21 UTC
view on stackexchange narkive permalink

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

מה היתרונות של הקפאת אפליקציה?
אם אני מבין נכון אפליקציית אנדרואיד תשתמש במחזורי מעבד רק כאשר היא לא פעילה * אם היא אמורה *, כמו אפליקציית חדשות שמטעינה מאמרים חדשים ברקע.
@MinNaingOo, אפליקציה "גרועה", לא יכולה לגרום למשתמש לחשוב שסוללת האייפון נכשלת. אז לעצור את המשתמש להאשים את התפוח.
@MinNaingOo קרא את http://www.addictivetips.com/android/greenify-allows-ios-style-multitasking-on-android-by-hibernating-apps/
@Hallucynogenyc השתמשתי ב- Greenify בכל מכשירי האנדרואיד שלי למרות שלא ידעתי הרבה על יתרונותיו. תודה על הקישור :)
@IanRingrose אז שירותים של אפליקציות משתמשים אינם רשאים לפעול ברקע של iOS?
@MinNaingOo קרא את זה https://stackoverflow.com/questions/11417837/running-background-services-in-ios
Volker Siegel
2014-04-09 06:49:07 UTC
view on stackexchange narkive permalink

מענה לשאלת הכותרת: "האם שימוש רב מדי זיכרון RAM יכול לנקז סוללה?"
(לא השאלה ה"אמיתית "שלך, אך אולי שימושית לכל מי שמעוניין בכותרת השאלות.)

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

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

N ytonial
2017-02-28 18:18:41 UTC
view on stackexchange narkive permalink

מכיוון שה- RAM הראשי הוא דינמי (עשוי מקבלים שאובדים מידע) יש לרענן אותו. רענון זה לוקח כוח, וחסימה מלאה (או משומשת) צריכה לקחת יותר כוח כדי "לטעון" מאשר פעם אחת המכילה את כל ה- 0 או איכשהו יודע שזה לא נמצא בשימוש.

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

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



שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 3.0 עליו הוא מופץ.
Loading...