Моя программа записывает сетевой трафик с помощью команды tcpdump
Android не подходит для запуска программ командной строки.
_initTask выполняет команду tcpdump
Почему? tcpdump
- это команда. Он работает в своем собственном процессе. Он будет работать бесконечно, либо до тех пор, пока определенное количество пакетов не будет перехвачено, либо до тех пор, пока вы не отправите ему SIGINT или SIGKILL. AsyncTask
не имеет смысла в этом сценарии.
Я теряю объект _initTask при выходе из приложения
Конечно. Вы должны остановить tcpdump
в onDestroy()
любого компонента, который разветвлял этот процесс.
Как сохранить состояние экземпляра _initTask?
Вы нет. Вы должны остановить tcpdump
в onDestroy()
любого компонента, который разветвлял этот процесс.