די ידעאַל סומע פון באַראַן אַז פאָנעס דאַרפֿן פֿאַר זייער גלאַט מולטיטאַסקינג איז גאַנץ אַ דעבאַטעד טעמע. עפּל געץ דורך מיט אַ קלענערער גרייס אין זייַן יפאָנעס, וואָס איז אָפט מער ניצלעך ווי אַנדרויד סאַלושאַנז. איר וועט אויך ניט געפֿינען קיין טיפּ פון באַראַן זכּרון פאַרוואַלטונג אויף די iPhone, כאָטש אַנדרויד האט זיין אייגענע דעדאַקייטאַד פונקציע פֿאַר דעם.
אויב איר גיין, למשל, אין סאַמסונג גאַלאַקסי פאָנעס צו סעטטינגס -> מיטל זאָרגן, איר וועט געפֿינען אַ באַראַן גראדן דאָ מיט אינפֿאָרמאַציע וועגן ווי פיל פּלאַץ איז פריי און ווי פיל איז פאַרנומען. נאָך קליקינג אויף די מעניו, איר קענען זען ווי פיל זכּרון יעדער אַפּלאַקיישאַן נעמט, און איר אויך האָבן די אָפּציע צו ויסמעקן די זכּרון דאָ. די באַראַן פּלוס פונקציע איז אויך ליגן דאָ. דער טייַטש איז אַז עס וועט בייַסן אַ זיכער נומער פון גיגאבייט פון די ינערלעך סטאָרידזש, וואָס עס וועט נוצן פֿאַר ווירטואַל זכּרון. קענען איר ימאַדזשאַן עפּעס ווי דאָס אויף יאָס?
סמאַרטפאָנעס פאַרלאָזנ אויף באַראַן. עס סערוועס זיי צו קראָם די אָפּערייטינג סיסטעם, קאַטער אַפּלאַקיישאַנז און אויך צו קראָם עטלעכע פון זייער דאַטן אין די קאַש און באַפער זכּרון. אזוי, באַראַן מוזן זיין אָרגאַניזירט און געראטן אין אַזאַ אַ וועג אַז אַפּלאַקיישאַנז קענען לויפן סמודלי, אפילו אויב איר פאַלן זיי צו דער הינטערגרונט און עפענען זיי ווידער נאָך אַ בשעת.
סוויפט ווס. Java
אָבער ווען איר אָנהייב אַ נייַע אַפּלאַקיישאַן, איר דאַרפֿן צו האָבן פריי פּלאַץ אין זכּרון צו מאַסע און לויפן עס. אויב נישט, מוז מען דאס פלאץ ארויסלאזן. דער סיסטעם וועט דעריבער קראַפטפאַלי פאַרענדיקן עטלעכע פליסנדיק פּראַסעסאַז, אַזאַ ווי אַפּלאַקיישאַנז וואָס האָבן שוין סטאַרטעד. אָבער, ביידע סיסטעמען, ד"ה אַנדרויד און יאָס, אַרבעט דיפערענטלי מיט באַראַן.
די יאָס אָפּערייטינג סיסטעם איז געשריבן אין סוויפט, און יפאָנעס טאָן ניט אַקשלי דאַרפֿן צו ריסייקאַלד געוויינט זכּרון פֿון פֿאַרמאַכט אַפּפּס צוריק אין די סיסטעם. דאָס איז רעכט צו דער וועג פון יאָס איז געבויט, ווייַל עפּל האט פול קאָנטראָל איבער עס זינט עס לויפט בלויז אויף זיין יפאָנעס. אין קאַנטראַסט, אַנדרויד איז געשריבן אין ז'אבא און איז געניצט אויף פילע דעוויסעס, אַזוי עס מוזן זיין מער וניווערסאַל. ווען די אַפּלאַקיישאַן איז טערמאַנייטיד, די פּלאַץ עס גענומען איז אומגעקערט צו די אָפּערייטינג סיסטעם.
געבוירן קאָד ווס. JVM
ווען אַ דעוועלאָפּער שרייבט אַן יאָס אַפּ, זיי צונויפנעמען עס גלייַך אין קאָד וואָס קענען לויפן אויף די iPhone פּראַסעסער. דער קאָד איז גערופן געבוירן קאָד ווייַל עס ריקווייערז קיין ינטערפּריטיישאַן אָדער ווירטואַל סוויווע צו לויפן. אַנדרויד, אויף די אנדערע האַנט, איז אַנדערש. ווען Java קאָד איז קאַמפּיילד, עס איז קאָנווערטעד צו Java Bytecode ינטערמידייט קאָד, וואָס איז פּראַסעסער-פרייַ. עס קען דעריבער לויפן אויף פאַרשידענע פּראַסעסערז פון פאַרשידענע מאַניאַפאַקטשערערז. דאָס האט ריזיק אַדוואַנטידזשיז פֿאַר קרייַז-פּלאַטפאָרמע קאַמפּאַטאַבילאַטי.
פון קורס, עס איז אויך אַ דאַונסייד. יעדער אַפּערייטינג סיסטעם און פּראַסעסער קאָמבינאַציע דאַרף אַ סוויווע באקאנט ווי די Java Virtual Machine (JVM). אָבער געבוירן קאָד פּערפאָרמז בעסער ווי קאָד עקסאַקיוטאַד דורך די JVM, אַזוי ניצן די JVM פשוט ינקריסיז די סומע פון באַראַן געניצט דורך די אַפּלאַקיישאַן. אַזוי יאָס אַפּפּס נוצן ווייניקער זכּרון, אין דורכשניטלעך 40%. אַז ס אויך וואָס עפּל טוט נישט האָבן צו יקוויפּ זיין יפאָנעס מיט ווי פיל באַראַן ווי עס טוט מיט אַנדרויד דעוויסעס.
איך בין נישט פּונקט אַ מומחה, אָבער איך וועט באַשרייַבן מיין פּערספּעקטיוו פֿון דער פּערספּעקטיוו פון אַ באַניצער וואָס האט געוויינט אַנדרויד פֿאַר 15 יאָר און איז איצט 2 חדשים אין די iPhone 13 מיני. אויף אַנדרויד מיט 8 גיגאבייט זכּרון (רובֿ לעצטנס Samsung S21, Flip3) איך יוזשאַוואַלי אומגעקערט נאָך אַ געוויסע צייט צו די פריער לאָנטשט אַפּלאַקיישאַן און עס איז נאָך לאָודיד אין באַראַן, אַזוי עס האט נישט אָנהייבן אַלע איבער ווידער און איך קען סמודלי קלייַבן ווו איך אפגעלאזט. אויף די אנדערע האַנט, אפילו מיט 8 גיגאבייט פון זכּרון, איך "שאָס אַראָפּ" אַלע אַפּלאַקיישאַנז אַמאָל אַ וואָך צו ויסמעקן די באַראַן, ווייַל די סיסטעם אנגעהויבן צו פּאַמעלעך אַראָפּ מיט פול זכּרון. איך טאָן ניט האָבן אַ פּראָבלעם מיט סלאָוינג אַראָפּ אויף די iPhone, אָבער אויף די אנדערע האַנט, איך האָבן צו זאָגן אַז ווען ניצן כּמעט יידעניקאַל אַפּלאַקיישאַנז, אויף די פאַרקערט, עס קעסיידער כאַפּאַנז צו מיר אַז ווען איך צוריקקומען צו אַ פריער לאָנטשט אַפּלאַקיישאַן, עס לאָודז גאָר ווידער און איך קען נישט סמודלי פאָרזעצן ווו איך לינקס אַוועק .
וואָס אָפּציע איז בעסער? שווער צו זאָגן ... מאָרד אַפּפּס אויף אַנדרויד און קלאָר באַראַן איז אַ ענין פון צוויי קליקס. לאָודינג די גאנצע אַפּלאַקיישאַן ווידער אויף די iPhone איז נישט אַזוי צייט-קאַנסומינג, אַזוי עס טוט נישט ענין אַזוי פיל ... פון קורס, עס וואָלט זיין ידעאַל צו האָבן מער באַראַן אויף די iPhone און מולטיטאַסקינג ווי אויף אַנדרויד :-ד
שיט, ס'איז נאכאמאל נאריש. פֿאַר איין זאַך, אַנדרויד איז נישט געטאן אין דזשאַוואַ פֿאַר אַ לאַנג צייַט, דאָס איז וואָס קאָטלין איז פֿאַר. מיסט קאַלעקטער איז אין באַשולדיקונג פון די זכּרון, וואָס איז די סימפּלאַסט אין יאָס, וואָס יגזיסץ אפילו מיט זייַן דיסאַדוואַנטידזשיז. די גאנצע זאַך איז אַז יאָס קילז אַפּפּס ווי באַלד ווי איר נעמען זיי אַוועק די פאַרשטעלן. דאָס פריי זיקאָרן פּונקט ווי אויף לינוקס ווען איר דרוקן טייטן פּיד פון אַ פּראָצעס. אַז ס וואָס עס נעמט אַזוי לאַנג צו עפענען דעם בלעטערער און צוריקקומען צו די פריערדיקע אַרבעט. דער אַרטיקל איז אַ ווערבאַטים איבערזעצונג פון אַן X יאָר אַלט אַרטיקל דורך אַ יאָס פאַנאַטיקער אָן פּראָגראַממינג וויסן. יאָ, פון קורס, זכּרון פאַרוואַלטונג איז דער הויפּט די פֿאַראַנטוואָרטלעכקייט פון די פּראָגראַמיסט, וואָס די אַפּלאַקיישאַן טוט. אויב ער הוסט אויף עס, עס איז אַ זיקאָרן רינען אין דער וועלט און פּקק איר קענען האָבן X Gb פון זכּרון און עס איז נאָך אַרויסגעוואָרפן. און אין אַ צייט ווען פילע אַפּלאַקיישאַנז זענען בלויז וועבוויעוו, דאָס איז זייער פּשוט, ווייַל עס זיך עסט וואָס עס קענען. דער אַרטיקל איז ומזין, מיסט.
אַנדרויד ניצט מער ניט jvm, אָבער dvm. און אין דערצו, עס קאַמפּיילז עס אין אַ געבוירן עקסעקוטאַבלע
Java איז נאָך אין אַנדרויד.