renice -20 `pidof com.opera.mini.android`; echo -17 > /proc/`pidof com.opera.mini.android`/oom_adj; echo 0 > /proc/`pidof com.opera.mini.android`/oom_score;
это полная строка с увеличением приоритета приложения перед киллером. (возможно, ренайс не нужен)
добавил строчку с oom_score тк пишут, что если килер не должен шлепать то возвращает 0 из этого файла.
должно быть автоматом 0 когда -17 в oom_adj, но увидел, что это не всегда так. пихаю туда 0, чтоб киллер думал, что не нужно выгружать.
программы держаться в фоте с выкл экраном хорошо (нужно все таки дольше тестить). но.
приоритет киллера, как я понял меняется динамически, не смотря на то, что я ему там написал.
и для изменения приоритета не обязательно выгружать приложение, это происходит по событию/спустя время, как я понял, только с включенным экраном.
Соответственно, скипт присваивает -17, но похоже при запуске новых приложений пересматривает его. поэтому там может стать значение 10 например и приложение может быть выгружено.
пробую исправить эту проблему таскером.
если приоритет меняется при загрузке любого приложения, то в этот момент нужно менять на -17.
думал на какие приложения еще поставить чтоб срабатывало правило на оперу (др проги) и решил выйти из ситуации элегантно - сделал что на запуск не только оперы, но и раб стола срабатывает скрипт, причем как начальная, так и как конечная задача, т.е. при выходе.
получается, что заходя в любое приложение с раб стола скрипт выполняется как конечная задача.
пока такой вариант тестирую.
также настроил киллер чтоб более агрессивно убивались empty app.
Главное, чтоб туда приоритетные приложения не попали.