Служба (S1) связана в конструкторе «простого класса» C (т. Е. C не имеет методов жизненного цикла, таких как (onCreate (), onDestroy () и т. Д.), Использующих Intend. Контекст предоставляется на время конструирования в конструкторе C. C создается другими службами (Sx), использующими себя в качестве аргументов для нового C (context). Фактически, это эквивалентно использованию их соответствующих контекстов "Я думаю.
Sx1 ->
C -> S1
Sx2 ->
Вопрос в том, каков наилучший способ / место для отсоединения от S1?
- Поскольку в C нет методов жизненного цикла, я должен создать «искусственный» метод onDestroy () в C, который вызывается при вызове метода Sx onDestroy? Мне это немного не нравится, потому что я ленив и могу забыть вызывать метод onDestroy () в какой-то момент времени по мере роста сложности.
- Или я мог бы полагаться на тот факт (не знаю, действительно ли это происходит), что Android будет управлять чистым жизненным циклом и «автоматически отсоединяет» от S1 после того, как Sx или его контекст уничтожены?