Я пытаюсь совершить безопасное убийство процесса для спасения памяти. Безопасно ли убивать все фоновые процессы в действии, вызывая либо ActivityManager.killBackgroundProcesses
, либо IActivityManager.killAllBackgroundProcesses
? Я знаю, что это больно, если один из убитых процессов нужно перезапустить, но это безопасно? Возможно ли, что что-то важное для производительности системы или данных пользователя/системы будет потеряно?Можно ли убить все фоновые процессы в Android от службы?
ответ
Я пытаюсь сделать безопасное уничтожение процесса для утилизации модуля памяти
ОС будет завершать процессы по мере необходимости, чтобы освободить системную память. Вам не нужно делать это самостоятельно. К моменту запуска вашего процесса достаточно памяти для запуска вашего процесса.
Возможно ли, что что-то важное для производительности системы или данных пользователя/системы будет потеряно?
Возможно, пользовательские данные будут потеряны. Например, если они были в середине формы, на какое-то мгновение переключились на какое-то другое приложение, и вы решили убить все фоновые процессы, они вполне могут потерять то, что они ввели.
Спасибо, за ответ. В принципе, решение ОС для завершения процессов, необходимых для освобождения памяти, не подходит для меня, поскольку я не пишу ни одно приложение, а вместо этого изменяю компоненты инфраструктуры. Точка, в которой мне нужна свободная память, - это не то же самое, что и диспетчер активности. Кроме того, что касается потери данных, я сделал несколько экспериментов, и похоже, что обычно приложения, которые идут на задний план, автоматически не убиваются killAllBackgroundProcesses. Я думаю, что это управляется свойством 'important', т. Е. Если у процесса есть' IMPORTANCE_BACKGROUND'. – smichak
@smichak: точка, в которой мне нужна свободная память, не такая, как та, что видна диспетчером активности ». Затем, как часть ваших изменений на Android, вы должны корректировать логику менеджера активности, а не беспорядочно убивая все фоновые процессы. – CommonsWare
- 1. Убить фоновые процессы в Linux
- 2. Как остановить все фоновые процессы в android?
- 3. Как убить все асинхронные процессы
- 4. Фоновые процессы
- 5. Убить процессы из оболочки в Android
- 6. Косвенно убить фоновые процессы, связанные с основным процессом
- 7. Фоновые процессы в Elixir
- 8. Убить все дочерние процессы, когда родитель убит
- 9. gtk позволяют фоновые процессы
- 10. Убить все безмолвные процессы в скрипте Bash
- 11. Намерение показать запущенные фоновые процессы
- 12. Rails параллельные фоновые процессы
- 13. Как убить фоновые процессы/задания при выходе моего сценария оболочки?
- 14. убить фоновые запущенные приложения в android программно
- 15. Убить все процессы с определенным именем
- 16. создавать фоновые службы в android
- 17. Убить все процессы для данного пользователя
- 18. Symfony2 и фоновые процессы
- 19. PHP и фоновые процессы
- 20. PHP Фоновые процессы
- 21. Асинхронные фоновые процессы в Python?
- 22. Android Killing Фоновые процессы и закрытие приложения
- 23. Android: убить процессы и закрыть приложения
- 24. Powershell убить все процессы, кроме системы
- 25. Убить все R-процессы, зависающие дольше минуты
- 26. Как убить все дочерние процессы при выходе?
- 27. Как я могу убить все процессы программы?
- 28. Mean.js Node.js фоновые процессы
- 29. Убить процессы, запущенные в каталоге (рекурсивно)
- 30. Как убить процессы зомби?
Короче говоря, да, есть вероятность потерять информацию. – poitroae
Нет, другие службы других приложений/системы запущены. Это может привести к тому, что ваши данные и устройство будут находиться в недопустимом состоянии. –
Я рекомендую против. Android был построен с самого начала, чтобы это не было необходимо – HXCaine