Как процесс убийства работает в Android? - PullRequest
0 голосов
/ 05 декабря 2010

Я использовал продвинутый убийца задач (многие другие убийцы задач), чтобы убить процессы в моем телефоне с Android, большинство случаев работает, но иногда я обнаруживаю, что вы убиваете процесс в убийце задач, не означает, что процесс действительно убивают, он все еще работает в фоновом режиме. Есть ли какой-либо инструмент, который имеет больше привилегий и может видеть все фоновые процессы? (Я думаю, что продвинутый убийца задач может видеть только процессы уровня "пользователя")

Если вы не возражаете, не могли бы вы объяснить, как на самом деле работают эти апплеты-убийцы?

Ответы [ 2 ]

1 голос
/ 05 декабря 2010

Вот дикое предположение новичка:

Android находится поверх операционной системы Linux, как показано здесь . Если вы подключитесь к своему виртуальному устройству Android (avd) и откроете эмулятор терминала или подключитесь через ADB , вы обнаружите, что у вас есть доступ к различным командам Linux.

C:\Users\james>adb -e shell
# cd /system/bin
# ls -a -l
...
lrwxr-xr-x root     shell             2010-06-30 15:32 insmod -> toolbox
-rwxr-xr-x root     shell       18172 2010-06-30 15:32 installd
lrwxr-xr-x root     shell             2010-06-30 15:32 ioctl -> toolbox
lrwxr-xr-x root     shell             2010-06-30 15:32 ionice -> toolbox
-rwxr-xr-x root     shell       10036 2010-06-30 15:33 keystore
-rwxr-xr-x root     shell        6520 2010-06-30 15:33 keystore_cli
lrwxr-xr-x root     shell             2010-06-30 15:32 kill -> toolbox

Обратите внимание, что большинство команд - это просто ссылки на одну небольшую программу (набор инструментов). Я могу перечислить запущенные программы с помощью команды ps, но если я пытаюсь убить их с помощью команды kill ... он говорит, что у меня нет разрешения. Возможно, вам удастся создать диспетчер задач, который использует базовые команды ps и kill, чтобы выполнить за вас грязную работу. Возможно, вам придется преодолеть некоторые проблемы с разрешениями.

Полагаю, вы можете запустить системные команды примерно так:

Runtime.getRuntime().exec("ls");

Edit:

Я пролистал этот менеджер задач с открытым исходным кодом, но я не видел, как это происходит с убийствами задач. Может быть, кто-то более опытный может объяснить это.

0 голосов
/ 05 декабря 2010

Вы можете изменить настройки, нажав кнопку Меню -> Настройка -> Уровень автоматического уничтожения и Уровень безопасности. Уровень автоматического убийства должен быть установлен на сумасшедший, а уровень безопасности - на низкий. Я почти уверен, что он получает все. Может быть, слишком много, возможно, захотите добавить некоторые приложения в список игнорируемых. Как приложение часов, иначе будильник не сработает.

Что касается внутренней работы, я понятия не имею.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...