Hilt y coroutine ayudan a construir un marco de inicio: resuelven la confusión del código y los problemas de la estrategia de inicialización

En cuanto al uso de Hilt, ahora es relativamente popular y todo el mundo ya debe saberlo. Hoy estoy hablando de una historia sobre cómo usar Hilt para crear un marco de inicio.

¿Alguna vez ha experimentado la optimización del inicio de un proyecto grande? La primera pasada no tuvo ningún efecto, la segunda pasada informó varios errores, la tercera pasada no pudo iniciarse y la cuarta pasada revirtió el código . ¿Por qué sucede todo esto?

No dudes, no preguntes, no es que seas técnico o tengas un problema de lógica (claro que no hay problema, si hay problema no se llama optimización, se llama corrección de errores), sino que el El código de inicio está escrito en un lío.

En nuestra industria del software, o en la vida de todos, la palabra "caos" ha dejado a muchas personas desconsoladas, ha hecho que muchas personas pasen del éxito a la soledad, ejem, ha hecho que muchas industrias de software aumenten sus costos y ha hecho que muchas industrias de software sean inútiles .

Cuando abre la aplicación, la cantidad de código se ve así:

Insertar descripción de la imagen aquí

¿Estás frustrado? Nuestro enfoque para la optimización de startups generalmente es hacer al mismo tiempo cosas que se pueden hacer al mismo tiempo y retrasar las que se pueden retrasar. En resumen, debemos ser rápidos. Pero ante este tipo de código, realmente no me atrevo a moverme.

texto

El concepto de este método de optimización de inicio es muy bueno. Lo que quiero hacer hoy es resolver el código desordenado y separar la inicialización. En el proceso, descubrí que puedo usar la configuración para introducir corrutinas, ya sea en orden o al mismo tiempo . O depende de ello, o haz lo que quieras, es genial.

Si desea la versión completa del documento de aprendizaje sobre optimización del rendimiento, haga clic para obtenerlo.

Utilice Hilt para crear un marco de inicio
  • Primero, inicialice el marco usando restricciones de interfaz.
// 后续都需要依赖此框架
interface AppInitializer {
   
    
    
    fun init()
}
复制代码
  • En segundo lugar, separe y conecte los inicializadores que implementan esta interfaz.
class AppInitializers @Inject constructor(
    private val application: Application,
) {
   
    
    

    private val initializers: Set

Supongo que te gusta

Origin blog.csdn.net/m0_70748458/article/details/130404481
Recomendado
Clasificación