Избегать повторения в тестах при использовании подтеста юнит-теста Python?

Службы иногда довольно сложны.

Когда вы запускаете службу из своей деятельности (или вашего процесса), служба в основном работает в одном процессе.

цитирует разработчика примечания

Большая путаница в отношении класса Service фактически вращается вокруг того, что это не так:

Служба не является отдельным процессом. Сам объект службы не подразумевает, что он работает в своем собственном процессе; если не указано иное, он выполняется в том же процессе, что и приложение, в котором оно входит.

Служба не является нитью.

Таким образом, это означает, что если пользователь удаляет приложение вдали от основного потока (чтобы избежать ошибок приложения не реагировать). в последних задачах он удалит ваш процесс (включая все ваши действия и т. д.). Теперь давайте рассмотрим три сценария.

Сначала , где служба не имеет уведомления переднего плана.

В этом случае ваш процесс будет убит вместе с вашей службой.

Второй , где служба имеет уведомление переднего плана

В этом случае служба не будет убита, и ни один из них не является процессом

Третий Если служба не имеет уведомления переднего плана, она все равно может работать, если приложение закрыто. Мы можем сделать это, запустив службу в другом процессе. (Тем не менее, я слышал, что некоторые люди говорят, что это может не сработать. оставил вам возможность попробовать себя )

вы можете создать службу в отдельном процессе, включив атрибут ниже в вашем манифесте.

android: process = ": yourService"

или

android: process = "yourService" имя процесса должно начинаться с нижнего case.

цитирование из примечаний разработчика

Если имя, присвоенное этому атрибуту, начинается с двоеточия (':'), новый процесс, частный для приложения, создается, когда это необходимо, и служба запускается в этом процессе. Если имя процесса начинается с символа в нижнем регистре, служба будет выполняться в глобальном процессе этого имени при условии, что у него есть разрешение на это. Это позволяет компонентам в разных приложениях совместно использовать процесс, уменьшая использование ресурсов.

это то, что я собрал, если кто-то эксперт, пожалуйста, поправьте меня, если я Неправильно:)

1
задан jfaccioni 6 March 2019 в 18:42
поделиться