תוכן עניינים:
היי חבר'ה! ג'רי חזר עם טריק מסודר נוסף שאתה יכול לעשות בטלפון אנדרואיד שלך. זה עוזר לשמור על פעולתו של הדברים בצורה חלקה, ונותן לנו קצת בקרת משתמש על רוצח המשימות הפנימי של אנדרואיד. כמו רוב הדברים שמשפיעים על הפעולה הנמוכה של אנדרואיד, זה דורש שורש, אבל זה קריאה טובה גם עבורכם אנשים שלא מרגישים צורך לשרש (ולשבור את האחריות!) מכיוון שעשוי להיות לכם הבנה טובה יותר. של מה שקורה מאחורי הקלעים. פתח כמה כרטיסיות נוספות בדפדפן שלך, הכין את הטלפון שלך (ואולי אפילו את כבל ה- USB שלך) ועקוב אחר ההפסקה.
אה, ואזהרה: זה דברים די ברמה נמוכה. זה לא קשה לעשות, אבל מה שהוא עושה זה קצת מתקדם. אל תגיד שלא הזהרנו אותך.
אתה שומע פעם אחר פעם שאנדרואיד פועלת על גרעין לינוקס. היתרון הגדול ביותר בכך הוא ש- Linux היא יציבה, קוד פתוח וניתנת לפרוץ במיוחד. משמעות הדבר היא שרבים מהיתרונות הללו מועברים גם לאנדרואיד. היכולת לצבוט את רוצח הזיכרון הנמוך הוא אחד מאותם. זה משהו שיש לי ניסיון אישי איתו, הן הדרך הקשה והן הדרך הקלה. אמנם זה מועיל לכל טעם של אנדרואיד, אבל טלפונים שמפעילים HTC Sense יראו את השיפור הרב ביותר.
איך עובד רוצח הזיכרון הנמוך
כאשר הטלפון שלך מאתחל, קובץ שבתמונת האתחול (init.rc) מגדיר את פרמטרי המערכת. דברים כמו הנתיב לקבצי מסגרת, הגדרת הרשתות שלך והגדרת הגבולות שבהם הופכות תוכניות ל RAM בחינם נעשים על ידי קובץ זה. כעת חנון-אנדרואיד סופר עשוי לחפור בקובץ init.rc ולהתאים אישית לחלוטין את רוצח הזיכרון הנמוך, אך אינך צריך לעשות זאת כדי עדיין להשיג תוצאות טובות. ה- init.rc מגדיר שש "רמות" שונות של יישומים פתוחים. בואו נסתכל עליהם:
- FOREGROUND_APP: זהו היישום שנמצא כרגע על המסך ופועל
- VISIBLE_APP: זהו יישום פתוח ופועל ברקע מכיוון שהוא עדיין עושה משהו
- SECONDARY_SERVER: זהו תהליך (שירות שאפליקציה זקוקה לו) שהוא חי ומוכן למקרה שיידרש לעשות משהו.
- HIDDEN_APP: שוב זהו תהליך שיושב במצב סרק (אך עדיין חי) למקרה שיידרש יישום שחי ופועל
לרוב, אנחנו אף פעם לא רוצים להסתגל כאשר יישומים ותהליכים אלה מומתים. הם הדברים שהתוכנות בהן אנו משתמשים צריכות לתפקד כראוי. למשתמשים הנועזים והמתקדמים יותר, שינוי הגדרות להגדרות HIDDEN_APP אפשרי, אם כי הרבה ניסוי וטעייה. ישנן שתי הגדרות נוספות, ואלה הן המעניינות אותנו ביותר כיום:
- CONTENT_PROVIDER: מדובר באפליקציות המספקות נתונים (תוכן) למערכת. סנכרון פייסבוק של HTC? זה CONTENT_PROVIDER. כך גם דברים כמו שוק אנדרואיד או פרינג '. אם הם חיים, הם יכולים לרענן ולספק את התוכן שאליו הם אמורים במרווח שנקבע. אם אתה הורג אותם, הם כמובן לא יכולים.
- EMPTY_APP: אני קורא ל"רוחות הרפאים "האלה. הם אפליקציות שפתחת, אך סיימת איתן. אנדרואיד משתמשת בסגנון ייחודי של ניהול ניהול זיכרון. כאשר מסתיימת פעילות, במקום להרוג אותה אנדרואיד שומרת את היישום בזיכרון כך שפתוח אותם שוב הוא תהליך מהיר יותר. אפליקציות "רוח רפאים" לתזה לא משתמשות בזמן סוללה או מעבד, הן פשוט ממלאות זיכרון RAM שאחרת היה ריק. כאשר יש צורך בזיכרון זה על ידי יישום או תהליך אחר, ה- RAM מושך והופך לזמין עבור האפליקציה החדשה. כדי לספק את האנשים החנונים (כמוני) אנדרואיד עושה זאת על ידי שמירה על רשימת אפליקציות ששימשו לאחרונה, כאשר האפליקציות הוותיקות ברשימה מקבלות את העדיפות הנמוכה ביותר - הם נהרגים תחילה אם יש צורך ב- RAM במקום אחר. זוהי דרך מושלמת לטפל בתהליכי 'רוח רפאים', כך שאין צורך לגעת בחלק זה;)
רמת EMTY_APP היא המקום בו אנו יכולים לשחק את רובין הוד ולזכות בביצועי ממשק משתמש. אנו שודדים מהעשירים (זיכרון RAM המשמש אפליקציות שביצענו באמצעותם) ונותנים לעניים (מאגר ה- RAM החינמי שלנו). בדרך זו אנו מחליטים מתי אנדרואיד סוגרת אפליקציות ישנות ולא בשימוש במקום לתת למערכת להחליט עבורנו. דברים כאלה הם הסיבה שאנחנו שורשים.
כיצד ניתן לתפעל את כל זה?
זוכר קודם לכן אמרתי שאתה לא צריך לחפור בקבצי הפעלה קריפטיים כדי לשנות את ההגדרות האלה? ובכן אתה תאהב את זה. אתה יכול לשנות דברים סביב עם אפליקציה מהשוק! יש כמה שעובדים, אבל אני מעדיף את MinFreeManager מכיוון שזה קל ומשקל אינו משתף מידע אישי כמו חלק מהאחרים. בואו נבדוק כיצד להקים את הילד הרע הזה.
שלב ראשון - מחק כל מנהל משימות שברשותך. הם רק הולכים להפריע למה שאנחנו עושים היום. אם לא, כולנו הולכים להצביע ולצחוק בזמן שהטלפונים שלנו פועלים בצורה חלקה:)
שלב שני - הורד והתקן את MinFreeManager
שלב שלישי - פתח את האפליקציה. לחץ על הכפתור האחורי כדי להיפטר מהמקלדת (נדבר על עריכת המספרים שאתה רואה במעט), ולחץ על תפריט> קביעות מוגדרות מראש.
בחר "אגרסיבי". אין שום טעם להתקין ולהפעיל אפליקציה כזו מבלי להפעיל אותה במלוא הפוטנציאל שלה. אם לאחר יום או יומיים אתה חושב שאתה רואה בעיות בהפעלה בהגדרות אלה, אתה יכול לנסות "עדין" או לצבוט את המספרים ביד. הלהיט הבא "החל" להגדרת הפרמטרים. אם תרצה שההגדרות יוחלו בכל אתחול מחדש, התפריט >> החל באתחול ידאג לך. עבור רוב כולם, זהו. תהנה שיש לך בערך 75-100 מגה-בייט של זיכרון RAM בחינם כל הזמן.
אם אתה רוצה לצבוט את המספרים בעצמך, כל ערך הוא רמת ה- RAM בחינם שאפליקציות ותהליכים בכל קטגוריה מסוימת יתחילו להרוג. להלן הגדרות ברירת המחדל עבור אנדרואיד.
שימו לב ששום דבר לא יימחק מה- RAM עד שכמות ה- RAM החינמית מגיעה ל- 32 מגה בייט. (אם הקשבת לי בזמן שעמדתי על ארגז הסבון שלי, אתה יודע שלדעתי SenseUI פשוט לא עובד טוב עם פחות מ- 40 מגה זיכרון RAM בחינם) במהירות 32 מגה בייט או פחות, המערכת תפעל התחל להרוג את 'רוחות הרפאים'. אנו יכולים לפלס את דרכנו במעלה הרשימה ולראות שאם אי פעם נרד ל- 14 מגה מגה או פחות בחינם, המערכת יכולה (ותהיה) להרוג את האפליקציה שברשותך בקדמת הבמה.
אם תחליט לשחק עם המספרים האלה, היזהר מאוד בארבעת המספרים המובילים. קוף בעזרת אלה יכול להפוך את הדברים מאוד לא יציבים, ומכוערים מאוד. ספק התוכן (קרא אותו שוב למעלה) פחות נוגע ללב, אך הגדרתו גבוהה מדי תגרום לדברים כמו פייסבוק לסנכרן דפוק עוד יותר מכפי שהוא כבר. החלק של האפליקציה ריקה הוא החינם לכולם. קביעת ההגדרה הזו לכל דבר פחות מ- 96 מגה-בתים (IMO) מביסה את מטרת השימוש באפליקציה כזו. לצבוט דברים, תן לזה כמה שעות להתיישב ולהחליט אם הוא זקוק לציוד נוסף.
מהדורת החנון של LowMemKiller
מכיוון שאנדרואיד פועלת על גרעין לינוקס, פירוש הדבר שפרמטרים מאוחסנים כקבצי טקסט רגילים. ניתן לערוך אותם תוך כדי תנועה - זה בדיוק מה שהיישומים כמו MinFreeManager עושים. אם אתה מעדיף לא להשתמש באפליקציית צד ג 'כדי לבצע שינויים אלה, תוכל לשנות בקלות את הערכים משורת הפקודה. הפעל את לקוח הטרמינל המועדף עליך ופעל אחריו.
כדי לבדוק את הפרמטרים הנוכחיים להגדרת MinFree:
su
cat / sys / module / lowmemorykiller / פרמטרים / minfree
זה יחזיר מחרוזת מספרים, משהו כזה:
1536, 2048, 4096, 5120, 5632, 6144
המספרים האלה הם עמודים. לאנדרואיד, עמוד שווה ל- 4 קילוגרמים. אז בדוגמה לעיל, הגדרות EMPTY_APP (אחרונות ברשימה - 6144) הן 24 מגה בייט. 6144 עמודים = 24576 kb = 24 מגה בייט. הנוסחה תהיה:
לכן הגדרה של 25000 תהיה שווה ל ~ 97MB (אמרו לך שזו המהדורה של החנון!).
לנקודת פתיחה טובה ודוגמא כיצד לשנות את המספרים, נסה זאת:
su
הד "1536, 2048, 4096, 5120, 15360, 23040"> / sys / module / lowmemorykiller / פרמטרים / minfree
זה מגדיר את הדברים כך שבכל פעם ש- RAM חופשי יורד מתחת ל- 90MB, 'רוחות רפאים' נהרגות לפי הסדר, ואם ה- RAM אי פעם ייפול מתחת ל -60MB, CONTENT_PROVIDERS ייהרגו. כל שאר הדברים נותרים ללא עוררין על ידי הגרעין.
חשבו על זה לרגע - אל תדאגו יותר לשמור על דברים כמו שעון ודואר אלקטרוני ועל רשימת ההיתרים של רוצחי המשימות, מכיוון שאנחנו מציינים אילו סוגים של אפליקציות ותהליכים ניתן להרוג כדי לפנות את הזיכרון.
ברגע שיש לך מערך של מספרים שעובד טוב בשבילך, קל לייעל את תהליך היישום בעת אתחול מחדש. כן, השינויים הללו נעלמים בכל הפעלה מחדש בזמן שהם מאוחסנים בדיסק וירטואלי (הרמדיסק) שנמחק כאשר הטלפון נכבה. תזדקק לעורך טקסט שיכול לשמור קבצים בפורמט שניתן לקרוא על ידי יוניקס. שום דבר שיצר מיקרוסופט לא הולך לעבוד. אני תמיד ממליץ על Notepad ++ למשתמשים ב- Windows עם צורך לערוך קבצי Unix. תפוס אותו והתקן אותו.
פתח קובץ ריק והדבק בתוכו את הדברים הבאים:
הד "1536, 2048, 4096, 5120, 15360, 23040"> / sys / module / lowmemorykiller / פרמטרים / minfree
כמובן לשנות את הגדרות ברירת המחדל להגדרות הרצויות. שמור את הקובץ כ freeram ללא סיומת.
חבר את הטלפון למחשב שלך ודחף את קובץ freeram אל / מערכת / סל. ואז בשורת הפקודה:
su
תקליטור / מערכת / סל
chmod 744 freeram
יציאה
יציאה
כעת הפעל מחדש את הטלפון שלך, וברגע שהוא נטען, פתח את הטרמינל והקלד את:
su
freeram
יציאה
כדי להגדיר את הפרמטרים שלך במקום פרמטרי ברירת המחדל של Android. יהיה עליך לעשות זאת בכל אתחול מחדש, או לערוך אותו לקובץ init.rc, שהוא waayyy יותר מדי חנוני מכדי לכסות כאן. יש לנו פורום לזה.:)
בין אם אתה אוהב את הדרך הקלה, או שאתה מעדיף את הדרך הארדקורית יותר, נסה את זה. קל להחזיר אותה, ומאה אחוז בחינם.
עד הפעם הבאה,
ג'רי