Хотите поблагодарить автора блога - жмите здесь !
1 2 0
1 2 0

Нажмите на рекламный баннер выше, если хотите поблагодарить автора блога !
Написание каждой статьи заняло в сотни раз больше времени, чем один клик.

среда, июля 03, 2013

Освобождаем оперативную память (ОЗУ/RAM) Android - "условно ненужные программы".

В продолжение темы, начатой здесь: http://vyacheslav.blogspot.com/2013/06/android.html

Вы все вероятно наблюдали, что после суток работі телефона на Android, количество свободной памяти снижается, и при этом даже использование "таск киллеров", освобождает далеко не столько памяти, сколько тот же "таск киллер" освобождает сразу после загрузки. И при этом просмотр в таск менеджере, показывает, что "запущены только те же программы что были запущены и сразу после старта". Куда делась память ? И главное - что с этим делать ? Как выяснилось, большинство менеджеров памяти, не показывают значительную часть программ, которые они считают "системными" (даже если по описанию они и могут показывать системные - все равно показывают не все), а для тех что показывают - нагло врут на счет реального обьема используемой ими памяти. Причина проста - большинство таск менеджеров отслеживают нормаьно только "стандартные программы Андроид", и в упор не видят или не правильно определяют обьем памяти для программ, которые работают на системном уровне и написаны не на Ява а на С, или если их части на С. В результате они не видят довольно много программ, которые "самозапускаются", даже если их запуск отключен и висят в памяти, ее отжирая, даже если Вы их вообще никогда не используете. Как "увидеть невидимое" и "обуздать" "невидимок" ?

Большая часть нижеописанное работает ТОЛЬКО на рутованном Андроиде.
Прежде всего ставим программу OSmonitor которую берем здесь: https://play.google.com/store/apps/details?id=com.eolwral.osmonitor&hl=ru  . Это одна из немногих программ (не считая линуксной консоли естественно :), способная показать реальное использование памяти ВСЕМИ программами, и к стати позволяет их и "убивать". С ее помощью, Вы всегда сможете посмотреть что у Вас "самозапустилось" и "втихую жрет драгоценную память", заодно и "пристрелить нахала" :) В его просмотрщике процессов, Вы можете отсортировать их как Вам удобнее - по "пожиранию" процессора, по "расходу памяти" итд. Собственно, то что описано ниже, сделано именно благодаря информации, полученной через OSmonitor. Еще нам понадобится программа System Tuner, которую можно взять здесь: http://4pda.ru/forum/index.php?showtopic=230331, или вот здесь: https://play.google.com/store/apps/details?id=ccc71.pmw&hl=ru.
Основными методами у нас будут "замораживание" (с помощью System tuner), и в отдельных случаях - деинсталяция, с предварительным бэкапом, чтобы всегда можно было поставить назад если понадобится - есть отдельные "нахальные" программы. которые запускаются даже из "замороженного" вида.

Итак. Программы, которые "самозапускаются" и не видны в таск менеджерах, и при этом могут Вами использоваться крайне редко или не использоваться никогда, но всегда отнимают память.

Синхронизация контактов и календаря. (это не требует рутованного телефона) Если это Вам не нужно, то зайдите в настройки телефона, "учетные записи и синхронизация", выберите свой аккаунт, уберите галочки  напротив "Календарь" и "Контакты". После перезапуска, они больше не будут самозапускаться. Это сэкономит 15-25 мегабайт памяти ОЗУ.

FM радио. Если Вы им пользуетесь - оставляем в покое. Но я например им не ползуюсь никогда - по IP и качество выше, и станций больше. Постоянно занимает 15-20 мегабайт ОЗУ, невидимо в большинстве таск менеджеров. Программа оказалась самой "противной". В том смысле, что она запускается, даже будучи "замороженной". Делаем ее бэкапа через System tuner. Сохраняем этот бэкап на SD карточке и "в облаке" - чтобы "не дай Бог не потерять" и иметь возможность ее поставить быстро назад, если "вдруг таки понадобится". И деинсталируем. Для этого в System Tuner, нажимаем "кнопочку" "System" (с красным андроидом), ищем в списке FM радио, нажимаем кнопку "backup". Делаем копию папки "pmw" (здесь сохраняются бэкапы сустем тюнера), в облаке. или в другом "безопасном и доступном месте". Снова идем на вкладку "System" в System Tuner, и жмем "Uninstall".
Вариант 2 - без деинсталяции, радио остается рабочим - вносим изменения в build.prop. Заходим в System Tuner, Кнопка "Build". Ищем там запись "fmradio.driver.enable", изменяем ее значение на "0" вместо "1" (не забудьте перед этим нажать кнопочку Backup).  Перезагружаем. телефон перезагрузится дважды. Первый раз загрузившись, повисит с минуту, потом перезагрузится - не пугайтесь. Теперь "радио" не будет стартовать "само собой" и будет занимать место в памяти, только если Вы им воспользуетесь. В этом варианте. программа приемника не запускается сама по себе. Но если его включили, то уже никакими "убивалками" от него в памяти не избавитесь - перестанет занимать ОЗУ, только после перезагрузки.

Google Talk (Hangouts). Тоже висит в памяти постоянно, даже если Вы убрали его из "автозапуска". сли Вы им не пользуетесь, или пользуетесь редко - "замораживаем". В System Tuner, идем в "системные", находим там "Google Talk", и жмем кнопку "Freeze". Если Вам нужно будет воспользоваться этой программой, то идем туда-же, жмем "Boil" и она снова доступна. Единственный недостаток - после "Freeze"- "Boil" пропадает ярлык соответствующей программы на рабочем столе (Holo launcher). Поэтому запускать ее придется либо через список всех программ, либо послее размораживания - прямо из System Tuner (кнопка с логотипом запускаемой программы, когда она выбрана в списке). Это еще 15 мегабайт сохраненного ОЗУ.

Галерея - постоянно висит в памяти, занимая ~20 мегабайт ОЗУ, самозапускается, даже если Вы ее в данный момент не исползуете, и висит там до перезагрузки. Рекомендую поставить более удобную QuickPic (https://play.google.com/store/apps/details?id=com.alensw.PicFolder&hl=ru), а саму "Галерею" - заморозить.

Синхронизация закладок Google. Если Вы не используете на основной машине браузер Хром, и Вам не нужна синхронизация закладок внутреннего браузера андроид и "Хрома" - совершенно Вам не нужна. занимает 15-20 мегабайт ОЗУ, при чем вдобавок, иногда "висит в памяти в двух экземплярах". Можно "заморозить". но спасет только частично - будет висеть "в одном экземпляре". Можете время от времени убивать через OSmonitor - запускается потом не сразу, в отличие от FM радио, но все ранво запускается. да и морочно так "возюкаться" с ненужной по сути программой. Поэтому - деинсталируем, по той же процедуре, что описана выше для "FM радио".
Вариант 2 - без деинсталяции. - Почему 2 - потому что опробован позже - это дополнение. Просто отключаем в настройках синхронизации синхронизацию закладок (заодно контактов и календаря). Это полностью "самозапуска" не исключит, но он станет много много реже, и по сути нужного нам результата мы добьемся по экономии памяти. Плюс, можно иногда заходить в настройки синхронизации Андроида, включить, подождать пока синхронизируется - выключить. Это не только память сэкономит но и трафик с батареей. 

Также постоянно висит в памяти приложение "Карты" - не зависимо от того, пользуетесь Вы навигацией, или нет. Я пользуюсь, поэтому оставил их жить :)

Network Diagnose Tool - тольком описание зачем она не нашел. Вроде бы для диагностики сети через "инженерное меню". То есть по сути, когда Вы не пользуетесь "Инженерным меню", она вроде как и не нужна. Но в памяти висит постоянно, "выкушивая" более 10 метров ОЗУ. Замораживаем. Если собираетесь пользоваться "инженерным меню", перед заходом туда, можно разморозить. Никаких "побочных эффектов" в работе аппарата после ее "замораживания" я не обнаружил.

Теперь некоторые "пользовательские программы". 

У Вас их может не быть, и Вас это может вообще не касаться. Но если есть, то написанное может быть полезным для эколномии памяти, если Вы ими пользуетесь не часто.

Антивирус - в зависимости от используемого Вами может занимать 12-25 мегабайт памяти ОЗУ. Реально же он нужен, только когда инсталлируете новые программы. Поэтому имеет смысл "заморозить" через Систем Тюнер, и "размораживать" только перед установкой новых программ. 

AVG cleaner - полезная программа, но пользоваться ею приходится раз в месяц ато и реже, когда возникает желание почистить карточку, а вот висит она в памяти постоянно, занимаю ~10-12 мегабайт ОЗУ. Поэтому "замораживаем", и "размораживаем", толкьо если она вдруг нам понадобится.

BlueStacks Cloud Connect - используется для синхронизации с "настольным андроидом"  - программой Bluestacks, позволяющей запускать Android на большом экране персоналки как задачу. Очень удобная программа к стати. Но вот синхронизировать то приходится как правило раз при установке, ну еще иногда, изредка "по вкусу". А свои 15-20 метров ОЗУ она кушает постоянно.  Замораживаем.

DropBox и Ggoole Drive - Для чего они используются думаю описывать не надо, этими облачными хранилищами пользуются почти все :) Пролема в том что каждая висит в памяти постоянно, занимая вместе приблизительно 2x15 мегабайт ОЗУ. При этом еще например Google Drive не позволяет получать досутп к несколькоим аккаунтоам одновременно (3 по 15 гигабайт в трех аккаунтах - это больше чем 15 в одном :). Поэтому вместо обеих этих программ, куда удобнее поставить один "ES проводник" (вот отсюда: https://play.google.com/store/apps/details?id=com.estrongs.android.pop), из которого Вы можете получить доступ к неограниченному количеству аккаунтов "облачных хранилищ", а заодно и к "расшаренным" "вындами" (или самбой под линухом) дисками в локальной сети. И которая при этом занимает память, только тогда, когда Вы пользуетесь дисками. А сами "родные" программы DropBox и Google Drive - заморозить. ТО же касается и большого количества других "облачных хранилищ", поддерживаемых ES проводником (Яндекс диск например).

Google +  - Ну это вообще монстр :)  "кушает" до 20ти мегабайт ОЗУ, даже если Вы им не пользуетесь. Поэтому если это для Вас не самая любимая программа, в которой Вы вистие постоянно :) , то имеет смысл "заморозить2 и запускать "по мере необходимости". "размораживая" через Систем тюнер.

Статус GPS - очень удобно при активации навигации, сразу же не запуская доп программ, прямо через статус бар, посмотреть какова там ситуация с подключением к спутникам. В этом плане - классная программа. Один недостаток - за это удобство приходится платить постоянно занятыми 15 мегабайтами ОЗУ, поэтому я ее "заморозил". Как убдет нужна - можно легко "разморозить".

ВИДЖЕТЫ - Пересмотрите какие Вам на самом деле нужны. например "безобидный" виджет погоды, кушает 20-30 мегабайт памяти, и батарейку. периодически обновляясь. Я его заменил просто ярлыком, по которому вызывается браузер со ссылкой на сайт "расписания погоды", сразу на страницу нужного мне города. И это сразу 20 метров памяти сэкономило. То же со многими другими виджетами - если они Вам не нужны - лучше выключите. Особенность организации системы Андроид в том, что даже программа "Hello World" написанная "правильно" "как по мануалу" займет минимум 10 мегабайт ОЗУ, потому что каждая программа запускается в своей Ява машине. А все что сложнее "Hello world" занимает сооответственно больше. В общем - хотите больше памяти - уберите не очень нужные Вам виджеты с экрана.

YouTube(ютуб) - программа безусловно полезная, и "замораживать" и тем более деинсталировать ее - жаль. Но вот привычка запускаться, вместе с запуском Android и постоянно висеть в памяти нервирует. Лечится просто выключением ее автозапуска через System Tuner (кнопка Startups). там кроме нее очень много лишнего запускается - все перечислять долго. Зайдете в 'Startup" - сами увидите кучу программ, в частности Вами проинсталированных, которые Вы изредка используете, но которые каждый раз при старте Android запускаются, тормозят запуск. и потом жрут память без всякой для Вас надобности. При этом это вообще никак не послияет на их использование, когда Вам понадобится запустить соответствующую программу через ее ярлык.

И еще одно примечание по экономии памяти, связанное с build.prop.

Запускаем System Tuner,  и нажимаем "build" (зелененький андроид с гаечным ключем). Первым делом жмем "Backup" Потом смотрим два параметра - "davik.vm.heapgrowthlimit, и davik.vm.heapsize. Первый выставлен в 48 мегабайт, второй в 128. Если у Вас метр или два ОЗУ, то Вам как бы и пофик. Но если у Вас 512 метров, то эти параметры означают по сути "гарантированную однозадачность" Вашего Андроида. так как позволяют одной программе, занять практически всю свободную память. При этом, еще пару лет назад, типичные значения для этих переменных были 16 и 32 мегабайта, и подавляющее большинство программ нормально с такими параметрами работает. Поэтому я заменил первый на 32 мегабата, второй на 48 мегабайт (подержите палец долго на карандашике чтобы перейти в режим редактирования). Если Вы часто гоняете "очень прожорливые игрушки", то второй ставте минимум в 64. 
Что эти параметры значат. дело в том, что Андроид умеет освобождать память, не убивая задачи. Это так называемая "процедура сборки мусора" в Ява машине. А эти параметры означают при каких значениях занятой программой памяти, нужно обеспокоиться "уборкой". Да, возможно, найдутся какието очень глюкавые программы или игры, которым нужно больше, ну если такие у Вас обнаружатся - всегда можете изменить параметры назад.

PS Еще программы, которые "самозапускаются" со временем "сами по себе", отжирая память, даже если "автозапуск" отключен, и с которыми я пока не разобрался. Можно конечно "заморозить" но как то не хочется... Но если Вы ими не пользуетесь то смело замораживайте - побочных эффектов не будет. YouTube - 24 метра выедает, Google Keep - 22 метра, Мои треки - 19,3 метра, Карты - от 24х до 47 !!! метров - умудряются "самозапускаться" в двух экземплярах иногда.  Все они поддаются "убиению" "таск менегерами", и "оживают" через большой промежуток времени (от часа до нескольких часов).

Пока все.

Тэги для поиска: "свободная память Android", "Мало свободной памяти Android", "Куда девается память Андроид", "забита ОЗУ", "занята ОЗУ", "мало свободного места ОЗУ".



Комментариев нет:

Отправить комментарий

Закрыть окно X
Пожалуйста, потратьте несколько секунд на поддержку блога и его автора
Нажмите на рекламную ссылку: Рекламная ссылка для поддержки блога, или на баннер вверху справа страницы.