• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

195
Vistas
Kotlin: defina un alcance de rutina en la clase de aplicación

¿Es una buena práctica declarar un alcance coroutine dentro de la clase de la App en lugar de usar un Globascope?

 class App : Application() { val applicationJob = Job() companion object { lateinit var instance: App private set lateinit var appDefaultScope: CoroutineScope } override fun onCreate() { super.onCreate() instance = this@App appDefaultScope = CoroutineScope(Dispatchers.Default + applicationJob) } }

Aquí definí una variable appDefaultScope y la inicialicé en onCreate de la aplicación

Entonces, en cualquier parte de mi código, siempre podría hacer:

 App.appDefaultScope.launch { // some operations }

La principal diferencia con un GlobalScope que veo es que aquí siempre puedo cancelar el trabajo y cerrar todas las corrutinas potencialmente atascadas.

¿Hay mejores alternativas a esto?

La razón es que tengo algunas funciones de object que usan rutinas y no se llaman desde una actividad (entonces no puedo proporcionarles un alcance definido dentro de la actividad) pero necesito un alcance para sus operaciones. Un ejemplo de dicha función de objeto es un registro que escribe en una base de datos local a la que se puede llamar en casi cualquier parte de la aplicación.

about 3 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda