Запрет стандартному Task Killer’у выгружать нужные вам приложения. Программа заставит устройство мгновенно реагировать на ваши действия и сделает его экономичнее! Первая и единственная программа такого типа, которая действительно работает! Меняется приоритет на -17, или любой другой, и не сбрасывается при выходе из проги.
Программа находится в режиме тестирования и доработки способа удержания апп в памяти.
Последнее обновление программы в шапке: 07.12.2012 AutoOOMmanager Версия: 0.95
Как и любой обладатель андроида, который хоть немного знает про его работу, знаю, что стандартный тасккиллер убивает приложения при нехватке памяти. Передо мной встал вопрос, как же заставить андроид запустить и держать в памяти ВСЕГДА приложения, которыми пользуюсь постоянно (например звонилка). На форуме нашел предложения о повышении приоритета через renice или правкой билд.проп с указанием, что такие то приложения не убивать. Но эти способы не работают. Поизучав вопрос, нашел программы типа ® AutoKiller которые умеют делать приоритет oom killer -17 Но! Эти программы не умеют держать приоритет и стоит задать в ней, переключиться в само приложение и все, приоритет сброшен.
Отсюда и возникла эта тема. Хотим сделать программу, которая все таки будет работать. Вроде получилось 😉 Смысл данной программы выполнить 4 команды pidof — чтобы узнать в какой папочке искать файлик с приоритетом cat — прочитать, чего в нем сейчас и если в этом файлике НЕ -17, то echo — записать -17 Ну и подсказали все это закрепить командой chmod и значениями 444
Выражаю огромную благодарность RubberBigPepper за помощь в реализации программы, а также asuslava за простую и гениальную идею с правами. Спасибо огромное! :thank_you:
Цель Нужные приложения всегда в памяти, мгновенно открываются, мгновенный переход между приложениями ну и экономия батареи (тк не нужно подгружать данные и загружать проц/поднимать частоту)
Девиз темы Нет ничего невозможного!)
Сообщение отредактировал Black_BG — 25.01.13, 21:57
Black_BG, я выяснил, что если свернуть-развернуть приложение, то эта настройка сбивается, т.е. AutoKiller просто меняет oom_adj процесса (в теме про твики я чуть подробнее это описал). Наверное, адекватного решения задачи (кроме как ежеминутно или даже чаще выполнять эти команды) нету, потому что Android меняет эти значения при изменении состояния приложения (свёрнуто, передний план, задний план, . ). Как отловить эти события «снаружи» интересующего приложения я не знаю.
Сообщение отредактировал Galamar — 17.10.12, 23:55
Ищу программиста, который сможет написать простую программу
подробности в шапке темы.
спасибо! видел. аналогичный подход. но если они будут тупо класть в инит.д то работать не будет. но даже с моим кривым английским я понял что также ищут разраба, чтоб прогу делать. Товарищи, давайте сами запилим прожку. просто же все.
Добавлено 23.10.2012, 08:07:
можно пимп май цпу переделать. она же аналогична, только пишет по другому адресу.
можно) все тесты на мне если нужно.
Добавлено 23.10.2012, 08:34:
если поможет, то можно эту прожку разобрать. как мне кажется, что смысл похож, но пишет просто в другой файл. хотя могу ошибаться. ® Pimp My CPU
RubberBigPepper, ты наш спаситель! :happy: Ушёл тестить.
UPD У меня при запуске появляется «Reading apps» на 1 секунду, исчезает — и всё. Чёрный экран с названием программы. В логе никаких ошибок нету.
Сообщение отредактировал Galamar — 24.10.12, 00:28
не критика. просто о логике приложения хотел поговорить. Сейчас, как я понимаю, каждые 5 сек сервис проверяет, что за окно открыто. если окно иное чем 5 сек назад, заново переприсваивает -17 нужным приложениям. так?
Рассмотрю 2 ситуации, на обе уже наткнулся.
1) я сижу и читаю книгу 2 часа. ничего не происходит. зачем здесь каждые 5 сек проверять есть ли новое окно? 2) я зашел в приложение и в туже секунду вышел из него. получается сервис проморгал этот момент.
Я предлагаю следующую логику. Раз сервис все равно делает проверку каждые 5 сек на новое окно, то давайте лучше он каждые n секунд/минут будет тупо сувать -17 во все нужне места.
И самое главное! Такие программы как ® Pimp My CPU и ® SetCPU тоже завязаны на запуск приложения. Я уверен, что они не мониторят каждые n секунд что на экране. Почему? потому что смену частоты они делают мгновенно. либо они мониторят раз в 0,5 сек (тогда бы умерала батарейка быстро, а это не так) либо ждут какого то события. Думаю, что они реагируют на какое то событие — «запуск приложения»/»смена приложения»/»поменялось окно» (не знаю как правильно назвать). событие произошло, они отреагировали мгновенно, а не мониторят каждые n секунд.
В идеале, я представляю следующую логику программы
Сделали нужные приложения в проге неубиваемыми.
вышли из проги и запустился сервис
сервис НЕ мониторит каждые n секунд, а ждет события «запуск приложения»/»смена приложения»/»поменялось окно»
Как только событие произошло, он меняет на -17 в нужных местах и ждет след. события.
Также работает таймер который раз в n минут (именно минут, это для ситуации с чтением книги) принудительно запихивает -17 в нужные места, не глядя что там уже есть.
Посмотрите пожалуйста как реализовано ожидание события в ® Pimp My CPU и ® SetCPU если удастся реализовать именно также, было бы замечательно, тк мне представляется, что это лучшая реализация, тк сбоев ни пимп ни сетцпу не дают даже при быстром переходе по домику (долгое нажатие)
Версия 0,1 бэта добавлена в шапку
Сообщение отредактировал Black_BG — 24.10.12, 08:41
Источник
Скрытая настройка во всех Android-смартфонах позволяет в одно нажатие «сломать» любой телефон
Владельцам смартфонов на базе операционной системы Android скучать никогда не приходится, поскольку в любой момент всегда можно что-то изменить. Так, например, если надоел стандартный внешний вид графической оболочки, то всегда можно поставить кастомный лаунчер, специальную тему или установить стороннее приложение, благодаря чему интерфейс всего мобильного устройства изменится до неузнаваемости. Тем не менее, во всех Android-смартфонах есть десятки скрытых настроек, о которых большинство пользователей вообще ничего не знает. Одна из них позволяет всего одно нажатие «сломать телефон», но затем его можно будет вернуть в прежнее состояние.
Специальная скрытая настройка есть абсолютно во всех Android-смартфонах, причем даже в тех, которые работают на базе сторонних прошивок – MIUI 9, Flyme OS 6 или любой другой. Компания Google добавила ее в исходный код операционной системы, в результате чего она стала ее неотъемлемой частью. Сделать так, чтобы интерфейс всего телефона «сломался», может быть полезно ради любопытства или для розыгрыша своего друга или знакомого. Поскольку на телефон не установлено никакое стороннее ПО, то он даже не сможет понять, что случилось с его смартфоном и почему интерфейс операционной системы начал выглядеть ужасно криво и неправильно.
Для того чтобы увидеть скрытую настройку необходимо запустить «Настройки», а затем открыть раздел «О телефоне». Здесь требуется несколько раз подряд нажать на вариант «Версия прошивки», после чего в нижней части экрана должна появиться надпись вида «Поздравляем, вы стали разработчиком». Это значит, что теперь раздел со скрытыми настройками стал доступен для редактирования и можно приступать к «поломке телефона».
Чтобы осуществить эта задумку следует запустить «Настройки», а затем открыть раздел «Для разработчиков», который может скрываться в подразделе «Расширенные настройки». На этой странице следует активировать «Режим разработки», после чего согласиться со всеми предупреждениями. В большом списке следует найти настройку «Отразить интерфейс», которую следует активировать. Если все было сделано правильно, а по-другому быть никак не может, то «телефон сломается».
Опция «Отразить интерфейс» делает именно то, что исходи от ее названия – она отражает интерфейс. В итоге, практически все интерфейсы на телефоне будут отображаться так, словно их выровняли по-другому края.
Такая опция не мешает пользоваться смартфонов, поскольку все возможности и функции по-прежнему будут доступны, однако она заставляет мозг «взорваться», так как даже загрузка страниц в веб-браузере теперь будет происходить справа налево. Иными словами, в глазах любого человека, телефон окажется «сломан». Чтобы вернуть все обратно достаточно просто выключить скрытую настройку.
Присоединяйтесь к нам в Go o g l e News , Twitter, Facebook, ВКонтакте, YouTube и RSS чтобы быть в курсе последних новостей из мира технологий будущего.
Источник
Как сделать, чтобы приложение не убивалось?
Использую Android 6.0, сделан root.
Есть несколько приложений (почтовый клиент, будильники всякие), которые я хочу чтобы не закрывались никогда, если я сам не найду и не нажму в них кнопку Exit. Такое в этих ваших андроидах вообще возможно?
В маркете полным-полно приложений, которые обещают эффективно убивать приложения, но очень мало (и все кривые) таких, которые бы, наоборот, защищали приложения от встроенного системного злобного убийцы.
Нуу во всяких оболочках типа MIUI возможно. В стоковом чистом андроиде может и можно, но нафига? Андроид же сам решает, что когда и как закрывать, ты и замечать не должен что там что то закрылось, как только вернешься к приложению, оно восстановится.
Я постараюсь не психовать, но если что, я не на тебя психую, я на телефон. БУДИЛЬНИК. Он закрыл мне будильник, Карл! Я к нему не могу вернуться, я сплю, это будильник должен ко мне вернуться!
Так или иначе, даже когда закрылся браузер и я пару секунд жду перезапуска, у меня зудит, что мы носим в кармане эти мощные телефоны не для того, чтобы они притворялись немощными и немногозадачными.
Я постараюсь не психовать, но если что, я не на тебя психую, я на телефон. БУДИЛЬНИК. Он закрыл мне будильник, Карл! Я к нему не могу вернуться, я сплю, это будильник должен ко мне вернуться!
У тебя какой-то неправильный телефон. И на нём неправильный будильник
Сколько было ведровидов, ни на одном проблем с будильником не было
Если не ошибаюсь, в ведроиде есть отдельно приложения с интерфейсом и .. демоны? или просто код, который пробуждается по событиям. В общем, будильник звонит всегда, даже если окно в ним закрыто. И всякие viber/whatsapp/telegramm всегда принимают сообщения, даже если их окно закрыть
Тебе нужно что-то менять
Для начала перепрошей в дефолт и не ставь всякие левые приложения и тем более не давай рута. Может доковырялся с настройками 😉
Окна могут закрываться сколько угодно, но будильник прозвенит всегда. Он как демон в linux. Даже на самых нестабильных alpha прошивках cyanogen собранных любителями могло не работать вообще ничего, но будильник срабатывал всегда, железно.
Что за телефон и прошивка стоковая или кастомная?
Телефон Asus Zenfone 3 Max (ZC520TL или X008D, на коробке написано одно, сам телефон думает другое, вот так), прошивка та, которая была изначально, включая всякие Asus Mobile Manager и т.п.
Ну, все нормально. Это модель такая Asus Zenfone 3 Max ZC520TL X008D. Будильник то срабатывает сам по себе или нет? Может ты звук для будильника забыл включить? В андроиде для всего громкость разделяется. Для музыки своя громкость, для звонка своя, для будильника тоже.
Слушай, если исходить из предположения, что я настолько идиот, что сработавшие будильники от несработавших, то мне и объямнять что-то бесполезно, так что лучше будем исходить из предположения, что я идиот, но не настолько.
Моё желание иметь неубиваемые приложения не ограничивается одними будильниками. И лончер, и браузер, и RSS-читалка — всё это, если закрыто без причины, немного огорчает. Я надеюсь, что в рутованном андроиде можно запретить убивать определённые приложухи. Если это возможно и если советовать такое не противоречит твоей морали, то подскажи, пожалуйста.
https://4pda.ru/forum/index.php?showtopic=388982 ну вот посмотри, меняет приоритет приложению и стандартный таскер не убивает его.
Телефон Asus Zenfone 3 Max (ZC520TL или X008D, на коробке написано одно, сам телефон думает другое, вот так), прошивка та, которая была изначально, включая всякие Asus Mobile Manager и т.п.
Зайди в настройки Asus Mobile Manager, и настрой, чтобы он не прибивал будильник. Это делает не Android, а блобы асуса.
Че, даже асус докатился до того что уродует чистый андроид?
Че, даже асус докатился до того что уродует чистый андроид?
А что, он когда-то этого не делал?
Ну я не знаю, они же nexus 7 II выпустили, он от гугла был, с чистым андроидом. Кошмар, да. Интересно, зачем все производители пихают свой мусор и свои оболочки в андроид. Я после nexus устройств пользоваться всякими оболочками и надстройками не могу, они делают только хуже.
Я не уверен, но по-моему, это не работает. Я поставил Телеграму -17, но сейчас он опять через белый экран секунду открывался, то есть немножко приподзакрыт был.
Ну ясен пень андроид будет в приоритете, да и в 6 андроиде многое изменили, там и doze и свои режимы работы, программа то писалась в 2012 году, тогда только андроид 4.0 подъехал. Проблемы если честно не вижу, это система такая by design. Вон товарищ выше сказал что стоит полазить по всяким асусовским приложениям которые предустановлены, может там что напортачено.
Сообщения то в телеграме доходят когда он свернут? Если доходят, то так и должно быть.
В андроиде есть активити, активити — это, грубо говоря, интерфейс и само приложение, которое может видеть пользователь. Андроид сам управляет жизненным циклом активитей. Так же у приложения могут быть сервисы, жизненный цикл которых управляется вручную. Сервисы и активити могут общаться между собой. Обычно андроид за ненадобностью прибивает активити, либо когда памяти не хватает, тогда как сервисы остаются. Именно они отвечают за пуш-уведомления, приходящие сообщения, будильники. То бишь само приложение вроде как закрыто, но его сервисы все еще работают.
Ок. Сделать, чтобы активити тоже не уничтожались, можно? (Я не спрашиваю, «почему нельзя», я спрашиваю, можно ли.)
Такое в этих ваших андроидах вообще возможно?
Такое возможно в любой системе. Главное, что бы было достаточно оперативной памяти.
Такое впечатление что Вы ни разу не слышали об энергосбережении и у Вашего смартфона батарея безразмерной емкости. Выше Вам ответили — это особенности ОС. Если Вас не устраивает, можно написать свою ОС и прошить ее.
Я слышал. Сейчас мне ещё чуть подробней, чем я слышал, объяснили. Сам я не программист под Android и уж тем более не системный программист, просто недовольный пользователь. А вы начинаете кричать лоровское ненужно в самом худшем его проявлении. Я спрашиваю как — вы отвечаете ненужно. Ну вот хочу я. Естественно, осознавая, что если буду злоупотреблять, то телефон быстро разрядится, значит, буду не злоупотреблять, но это уже несколько другой вопрос, не так ли? Для начала хочу точно понять, что нельзя, а что можно.
С root-oм можно все. Выше Вам уже сказали как это можео сделать.
Да, но есть подозрение, что оно как раз только за сервисами и следит, ну или в 6.0 себя ведёт не так, как собиралось.
Я не знаю, если честно. Андроид апи знаю очень поверхностно. Возможно все, на самом деле 🙂 Я не знаю, можно ли это сделать как-то тривиально стандартными методами. Вот часто приложения, чтобы их не прибивал андроид, держат сервис, который демонстрирует иконку. Например так делает AdBlock. Я не знаю, с какой тебе целью надо запилить такую штуку. Может ты сформулируешь цель и ее реализацию можно будет как-то переосмыслить в паттернах андроида?
Лимит фоновых процессов случайно не стоит?
Спец программы, отвечающие за энергосбережение, типа Doze,Stamina и т.д. Вот проблема. Так как при выключенном экране, они убирают активити, таскер может держать активити запущенным, но данные программы, снижают частоту ядер в спящем режиме, также отключают микроСД. Тоесть, фактические фризы после включения экрана смартфона и возобновления работы и рабочего состояния приложений, работающих в фоне, связано именно с тем что уходит время выхода ядра(ядер), в зависимости от sheduler & i/o.
Выхода ядер на рабочие частоты
Правильный ответ — никак. Но технически возможно — подправить код андройд под себя и собрать для совего телефона. Только это, босюсь, того не стоит.
Код Андроид можно подправить, можно сделать чтоб экран смарта не уходил в спящий режим вообще. Только смысла в этом нет никакого.
Зайди в мобильный менеджер асуса(перед этим желательно все его апдейты удалить) и поотрубай там все «оптимизации». будильник лучше стандартный — оно хоть его не кильнет случано.
Там вагон асус шлака. Но кроме уродского оптимизатора там многое можно вырубить.
Да, даже сам Asus Mobile Manager можно снести как приложение. Правда, емнип, это приведёт к крахам в некоторых местах системных настроек, поэтому пришлось вернуть обратно. 🙂
Ужас! Снести рассадник!
Можно сделать приложения резидентными, через модуль App Settings для xposed’а.
Но это по хардкору, конечно. Может стоит уменьшить значения min free, или как его там.
ну я про это же.
Юзаю Alarm Clock Xtreme. Еще ни разу не проспал. Вешается на системный будильник и звонит точно в срок. Раньше тоже свою напоминалку вешал, потом перестал этой фигней страдать.
ZC551KL aka Zenfone 3 Laser
Я юзаю Alarm Klock v 1.7, нет проблем
в норме не прибивает, а если прибивает, то самовосстанавливается. Минус в том, что на запуск может тратиться некомфортно много времени. Причина в нехватке памяти для всего, чем ты пользуешься одновременно
Может тебе лучше будильник купить, если не просыпаешься из-за смарта? Столько нервов потратил уже.
Ты ошибаешься, если думаешь, что я потратил так уж много нервов. То, что Андроид говно, я знал сразу, когда его покупал. В нынешней среде, с нынешним интернетом, с нынешними ожиданиями общества (что ты всегда на связи, что у тебя есть все мессенджеры и так далее) это, к сожалению, необходимое зло. Кто-то достаточно силён, чтобы ему противостоять, я вот пока недостаточно, да, я сломался и купил это дерьмецо, как раз чтобы не тратить нервы и быть как все. Что не должно лишать меня права на качественный будильник, согласись?
Твой ответ — это ещё одно «ненужно», более крутого уровня. В ответ на «Как мне эффективнее использовать телефон?» ты даёшь ответ «телефон ненужен», браво. Что тут сказать, может, тебе лучше газеты бумажные читать вместо ЛОРа? Столько нервов потратил уже, отвечая мне.
Нет уж, купленные зонды я хочу использовать на полную мощность, чтобы они приносили максимум пользы и мне тоже. 🙂
ИМХО говнокодер твой будильник писал. Я не спец по разработке под Android, но немного повозился с ним и находил способ повесить демон так, чтобы он просто так не убивался.
Че, даже асус докатился до того что уродует чистый андроид?
У меня был, у них ZenUI, которым пользоваться очень приятно. Я даже второй раз покупал зенфон только из-за того, что мне очень нравилось им пользоваться. Но потом мне надоело, что секьюрити апдейты никогда не выходит и версия обновляется медленно и пересел на Nexus, где всё есть постоянно.
Будильник там нормально работает и не прибивается, если окошко закрыть. У меня самого один раз не сработал, оказалось — после какого-то сброса, в настройках будильника установлен Без звука, пока не зайдёшь и рингтон не выберешь. Я проспал тогда 🙁
Насчёт запущенных приложений, это можно отключить в настройках. У меня сейчас Android 7, он держит запущенными 2 последних приложения, а остальные перезагружает при запуске (для экономия батареи). У меня в меню «Для разработчиков» (Включается тапом 5 раз по кнопке «Номер сборке» в Настройки -> Информация о телефоне), есть раздел Приложения. И там пункт Лимит фоновых процессов. Стоит Стандартное ограничение, можно выбрать например 4 процесса оставлять запущенными. Если у тебя там этого пункта нет — копайся в настройках азуз шедулера, это он значит киляет.
Окна могут закрываться сколько угодно, но будильник прозвенит всегда. Он как демон в linux.
Немного не так. У Андроида есть интенты (неточно, но можно назвать это «событиями»), на которые подписываются приложения. И даже вырубленное приложение при наличии интента будет запущено и информировано о событии.
Т.е. будильник может быть вообще не запущен. Но Андроид в назначенное время запустит его и скажет «пора будить!».
Иногда это играет злую шутку. Половина софта, почти весь, работающий с сетью, прописывается на интент смены сетевых настроек. Ну, мало ли, в браузере закачка идёт и надо обработать смену сети. Или мессенджеру проверить, что связь не порвалась. И вот едешь на автобусе по городу, меняются базовые станции сотовой связи через каждую сотню метров, Андроид обрабатывает это как смену сетевых настроек и в телефоне постоянно запускаются программы, привязанные к сети. Когда памяти мало, а программ много, они начинают убиваться и запускаться, убиваться и запускаться. Телефон раскаляется, аккумулятор тает на глазах 🙂