Logo uk.androidermagazine.com
Logo uk.androidermagazine.com

Тонка настройка параметрів безперервної роботи (поліпшення багатозадачності Android)

Зміст:

Anonim

Гей, хлопці! Поверніться до Джеррі з ще одним акуратним трюком, який ви можете зробити на своєму телефоні Android. Цей спосіб допомагає безперебійно працювати, і дає нам деякий контроль над внутрішнім вбивцею Android. Як і більшість речей, які впливають на низький рівень роботи Android, і цей вимагає корінства, але це добре читати навіть для людей, які не відчувають необхідності викорінювати (і порушувати гарантію!), Тому що ви просто можете краще зрозуміти того, що відбувається за лаштунками. Відкрийте кілька додаткових вкладок у своєму браузері, підготуйте телефон (а може, навіть і ваш USB-кабель) та дотримуйтесь перерви.

О, і попередження: Це досить низький рівень. Це не важко зробити, але те, що він робить, трохи вдосконалено. Не кажіть, що ми вас не попередили.

Ви знову і знову чуєте, що Android працює на ядрі Linux. Найбільшою перевагою цього є те, що Linux стабільний, з відкритим кодом та надзвичайно зламаний. Це означає, що багато з цих переваг переносяться і на Android. Можливість налаштувати вбивцю з низькою пам’яттю - одна з таких. Це те, з чим я маю особистий досвід, як важкий, так і легкий. Хоча це приносить користь будь-якому аромату Android, телефони, на яких працює HTC Sense, покажуть найбільше покращення.

Як працює вбивця з низькою пам’яттю

Коли телефон завантажується, файл усередині завантажувального зображення (init.rc) встановлює параметри системи. Цей файл виконує такі речі, як шлях до файлових фреймворків, налаштування ваших мереж та встановлення меж, при яких програми відбиваються до вільної оперативної пам’яті. Тепер супер-джей-Android може копатись у файлі init.rc і повністю налаштувати вбивцю з низькою пам’яттю, але вам не потрібно робити цього, щоб все-таки отримати хороші результати. Init.rc встановлює шість різних "рівнів" відкритих додатків. Давайте подивимось на них:

  • FOREGROUND_APP: Це програма, яка наразі знаходиться на екрані, і працює
  • VISIBLE_APP: Це програма, яка відкрита і працює у фоновому режимі, тому що вона все ще робить щось
  • SECONDARY_SERVER: Це процес (послуга, яка потрібна додатку), який є живим і готовим у випадку, якщо потрібно щось зробити
  • HIDDEN_APP: Це знову процес, який сидить в режимі очікування (але все ще живий), якщо це потрібно додатку, що живе і працює

Здебільшого ми ніколи не хочемо коригувати, коли ці програми та процеси вимикаються. Це те, що програми, які ми використовуємо, повинні правильно функціонувати. Для більш сміливих і просунутих користувачів можлива зміна налаштувань для налаштувань HIDDEN_APP, хоча і з МНОГО проб і помилок. Є ще два налаштування, і це найцікавіші для нас сьогодні:

  • CONTENT_PROVIDER: Це програми, які надають дані (вміст) у систему. HTC Facebook Sync? Це CONTENT_PROVIDER. Такі речі, як Android Market або Fring. Якщо вони живі, вони можуть оновити та надати вміст, який вони повинні мати через встановлений інтервал. Якщо ви їх вбите, вони, звичайно, не можуть.
  • EMPTY_APP: Я називаю цих "привидів". Це програми, які ви відкрили, але з ними робиться. Android використовує унікальний стиль управління пам’яттю. Коли діяльність закінчується, замість того, щоб знищити її, Android зберігає додаток у пам'яті, так що відкриття їх знову - це швидший процес. Тези "привидні" програми не використовують часу без батареї або процесора, вони просто заповнюють оперативну пам'ять, яка б інакше була порожньою. Коли ця пам'ять потрібна іншим додатком або процесом, оперативна пам’ять буде очищена та доступна для нового додатка. Щоб задовольнити прихильників (як я), Android робить це, зберігаючи список нещодавно використаних додатків, при цьому найстаріші додатки в списку мають найменший пріоритет - вони вбиваються першими, якщо оперативна пам'ять потрібна в іншому місці. Це ідеальний спосіб впоратися з процесами "привидів", тому не потрібно торкатися цієї частини;)

Рівень EMTY_APP - це те, коли ми можемо грати в Робіна Гуда та отримувати певні показники інтерфейсу. Ми позбавляємось від багатих (оперативна пам’ять, яку використовують додатки, якими ми користуємося) і віддаємо бідним (наш пул безкоштовної оперативної пам’яті). Таким чином, ми вирішуємо, коли Android закриє старі, невикористані додатки, а не дозволяти системі вирішувати нам. Такі речі, тому ми вкорінюємось.

Як ми маніпулюємо усім цим?

Пам'ятайте, раніше я казав, що вам не доведеться копатись у криптовалютні файли, щоб змінити ці налаштування? Ну, ти будеш любити це. Ви можете змінити речі за допомогою програми з Market! Є кілька таких, які працюють, але я віддаю перевагу MinFreeManager, оскільки він легкий і не ділиться будь-якою особистою інформацією, як деякі інші. Давайте подивимось, як налаштувати цього поганого хлопчика.

Перший крок - видаліть будь-який запущений менеджер завдань. Вони збираються лише втручатися в те, що ми робимо сьогодні. Якщо ви цього не зробите, ми все будемо вказувати на сміх і сміятися, поки наші телефони плавно працюють:)

Крок другий - завантажте та встановіть MinFreeManager

Крок третій - відкрийте додаток. Натисніть кнопку "назад", щоб позбутися клавіатури (ми поговоримо про редагування цифр, які ви бачите трохи), і натисніть меню> пресети.

Виберіть "Агресивний". Немає сенсу встановлювати та запускати такий додаток, не запускаючи його з повним потенціалом. Якщо через день-два ви думаєте, що у цих налаштуваннях виникають проблеми із запуском, ви можете спробувати "м'яко" або змінити цифри вручну. Далі натисніть «застосувати», щоб встановити параметри. Якщо ви хочете, щоб параметри застосовувались при кожному перезавантаженні, про вас подбає меню >> застосувати під час завантаження. Для більшості - це все. Насолоджуйтесь наявністю близько 75-100 МБ безкоштовної оперативної пам’яті.

Якщо ви хочете налаштувати цифри самостійно, кожен запис - це рівень вільної оперативної пам’яті, що програми та процеси в кожній конкретній категорії почнуть вбиватися. Нижче наведено налаштування за замовчуванням для Android.

Зауважте, що нічого не стирається з оперативної пам’яті, поки обсяг вільної оперативної пам’яті не досягне 32 МБ. (Якщо ви слухали мене, поки я стояв на своїй мильній панелі, ви знаєте, що, на мій погляд, SenseUI просто не працює добре з менш ніж 40 Мб вільної оперативної пам’яті) При 32 Мб або менше безкоштовної, система буде почати вбивати «привидів». Ми можемо просуватися до списку і побачити, що якщо ми коли-небудь отримаємо до 14 Мб або менше безкоштовної, система може (і буде) знищити додаток, який ви працюєте на передньому плані.

Якщо ви вирішили пограти з цими номерами, будьте дуже обережні з чотирма провідними номерами. Мавпання з цим може зробити речі дуже нестабільними та дуже потворними. Постачальник вмісту (прочитайте його ще раз вище) менш чутливий, але якщо встановити його занадто високо, це зробить такі речі, як синхронізація Facebook, ще більш гнучкими, ніж вони є. Розділ «Порожній додаток» - безкоштовний для всіх. Якщо цей параметр встановлений на щонайменше 96 Мб (ІМО), це перешкоджає використанню подібного додатка. Налаштуйте речі, дайте їй пару годин, щоб вони оселилися і вирішили, чи потрібно більше налаштування.

LowMemKiller Geek Edition

Оскільки Android працює на ядрі Linux, це означає, що параметри зберігаються як текстові файли. їх можна редагувати з ходу - саме так роблять такі програми, як MinFreeManager. Якщо ви не бажаєте використовувати ці додаткові програми для внесення цих змін, ви можете легко змінити значення з командного рядка. Запустіть улюбленого клієнта-термінала та йдіть далі.

Щоб перевірити поточні параметри для параметра MinFree:

су

cat / sys / module / lowmemorykiller / параметри / minfree

Це поверне рядок чисел приблизно так:

1536, 2048, 4096, 5120, 5632, 6144

Ці числа - це сторінки. Для Android сторінка дорівнює 4 кб. Так у наведеному вище прикладі налаштування EMPTY_APP (останнє у списку - 6144) становить 24 Мб. 6144 сторінки = 24576 кб = 24 Мб. Формула буде такою:

Тому встановлення в 25000 було б рівним ~ 97 Мб (сказали вам, що це Geek Edition!).

Для хорошого відправного пункту та прикладу того, як змінити числа, спробуйте:

су

echo "1536, 2048, 4096, 5120, 15360, 23040"> / sys / module / lowmemorykiller / параметри / minfree

Це налаштовує все так, що коли вільна оперативна пам'ять опускається нижче 90 МБ, "привиди" вбиваються в порядку, а якщо оперативна пам'ять коли-небудь опускається нижче 60 МБ, CONTENT_PROVIDERS загинуть. Все інше ядро ​​залишається непоміченим.

Подумайте про це на секунду - більше не турбуйтеся про те, щоб зберегти живі речі, такі як годинник та gmail, а також у списку вбивць завдань, оскільки ми визначаємо, які програми та процеси можна вбити, щоб звільнити пам'ять.

Коли у вас є набір цифр, які добре працюють для вас, легко впорядкувати процес його застосування при перезавантаженні. Так, ці зміни зникають при кожному перезавантаженні, оскільки вони зберігаються на віртуальному диску (Ramdisk), який стирається, коли телефон вимкнено. Вам знадобиться текстовий редактор, який може зберігати файли у форматі, який читає Unix. Ніщо, зроблене Microsoft, не спрацює. Я завжди рекомендую Notepad ++ користувачам Windows з необхідністю редагувати файли Unix. Візьміть його та встановіть.

Відкрийте порожній файл і вставте в нього таке:

echo "1536, 2048, 4096, 5120, 15360, 23040"> / sys / module / lowmemorykiller / параметри / minfree

звичайно, змініть налаштування за замовчуванням на потрібні. Збережіть файл як freeram без розширення.

Підключіть телефон до комп’ютера і натисніть файл фрірам у / system / bin. Потім у командному рядку:

су

cd / system / bin

chmod 744 freeram

Вхід

Вхід

Тепер перезавантажте телефон, і як тільки він завантажується, відкрийте свій термінал і введіть:

су

фрірам

Вхід

Щоб встановити ВАШІ параметри замість стандартних параметрів Android. Вам потрібно буде це робити при кожному перезавантаженні або відредагувати його у файлі init.rc, який є надто примхливим для покриття тут. Для цього у нас є форум.:)

Якщо вам подобається простий спосіб, чи віддаєте перевагу більш жорсткий спосіб, спробуйте. Повернути його легко, а його на 100 відсотків безкоштовно.

До наступного разу,

Джеррі