Предоставление системных сервисов через DIAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Предоставление системных сервисов через DI

Сообщение Anonymous »

Я использую Koin для внедрения зависимостей в приложении Android и хочу предоставить BluetoothManager через DI.
Сейчас у меня есть такой модуль:

Код: Выделить всё

val bluetoothModule = module {

single {
androidContext().getSystemService(Context.BLUETOOTH_SERVICE) as BluetoothManager
}
}
Я не уверен, что это действительно безопасно с точки зрения жизненного цикла Android/утечки памяти:
  • Может ли этот подход вызвать какие-либо проблемы жизненного цикла, утечки или «устаревшие» ссылки при включении/выключении Bluetooth или когда приложение переходит в фоновый/передний план?
  • Поддерживает ли BluetoothManager или BluetoothAdapter как одиночные Koin (т. е. синглтоны для всего приложения) нормально, учитывая, что они поступают из getSystemService
  • Есть ли какие-либо другие проблемы с этим подходом, о которых мне не известно?
Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/798 ... through-di
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»