Если все в порядке, если ваш процесс уничтожен (вместе с синглтоном) сразу после того, как пользователь покидает свои действия, тогда используйте синглтон.Если вам нужно, чтобы он продолжал работать некоторое время после этого, воспользуйтесь сервисом.Если вы хотите продолжить работу после того, как пользователь покидает его, но может жить с этим не потому, что пользователь теперь занят чем-то другим, где требуется больше памяти, тогда используйте одиночный код. only сводится к жизненному циклу вашего приложения.Для этого все, что делает служба - попросите платформу изменить управление вашим процессом.Если вам нужен контекст в одиночном объекте, просто используйте Context.getApplicationContext (), чтобы получить глобальный контекст для вашего процесса.