Смахивание программ из списка процессов должно убить/закрыть их, верно?
Я слушал музыку, а затем смахнул музыкальный проигрыватель, но музыка все еще играла.
Почему?
Смахивание не убивает процессы? если да, то как я могу закрыть их правильно?
Взяв в качестве примера приложение Google Music (держу пари, что большинство других реализовано аналогичным образом), приложение состоит из двух отдельных частей:
Пункт 2 можно проверить в этом сообщении в блоге разработчика Android , в котором говорится:
Воспроизведение музыки запускается в службе, чтобы позволить ей продолжить работу после того, как пользователь покинет музыкальное приложение.
Это различие становится важным, когда вы удаляете приложение из списка недавних задач. Как описано в моем ответе на другой вопрос , вот что происходит, когда вы удаляете приложение из списка, как заявил инженер Android Дайан Хакборн :
На самом деле, удаление записи в недавних задачах уничтожит все фоновые процессы, существующие для этого процесса. Это не приведет к остановке служб напрямую, однако для них есть API, чтобы узнать, что задача была удалена, чтобы решить, хотят ли они, чтобы это означало, что они должны остановиться. Это сделано для того, чтобы удаление, скажем, недавней задачи приложения электронной почты не приводило к прекращению проверки электронной почты.
В данном случае это означает, что задачи переднего плана приложения «Музыка» останавливаются, но фоновая служба (очевидно) продолжает работать. Это продукт того, как приложение реализовано, поэтому вы просто не сможете остановить воспроизведение музыки, удалив приложение из списка. Вместо этого вы можете попробовать следующее из списка последних приложений (также описанного в ответе по ссылке выше):
Если вы действительно хотите полностью остановить приложение, вы можете долго нажимать на недавние задачи, чтобы перейти к информации о приложении, и нажать принудительно остановить там.
т0мм13б
Вандан
эльдарератис
Вандан