Funciones commit y apply en Kotlin

| Última modificación: 11 de julio de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

En este post, te contamos un poco sobre las funciones commit y apply en Kotlin. Además, te presentamos un ejemplo de su uso para que lo visualices mejor.

Funciones commit y apply en Kotlin

A grandes rasgos, las funciones commit y apply en Kotlin se consideran terminales, puesto que permiten cerrar una parte del código. De hecho, para que entiendas de una forma más sencilla ambas funciones, en la siguiente imagen puedes ver un ejemplo donde se usa commit para poder guardar los datos del editor en el SharedPreferences:

En este ejemplo podemos ver que se está definiendo una función llamada con onCreated, la cual tiene unos parámetros, seguidos de unos métodos y, a su vez, de la definición del editor con los datos que se quieren almacenar en el SharedPreferences. Por último, vemos que se escribe la función commit para poder generar el almacenamiento de datos.

Aunque habrás notado que nos encontramos con que dicha función se encuentra marcada en amarillo. Lo que nos indica esto es una advertencia del programa, la cual nos recomienda el uso de apply para evitar inconvenientes con la ejecución de la app. Entonces, al realizar las modificaciones, quedaría de la siguiente forma:

Ahora bien, ¿a qué hacen referencia las funciones commit y apply en Kotlin? En el caso de la función commit, esta es una opción que nos permite guardar los datos en el hilo que se está ejecutando. Por lo tanto, esta función, de algún modo, va a estar bloqueando el código de la aplicación hasta que termine de guardar toda la información que se ha añadido.

🔴 ¿Quieres entrar de lleno al Desarrollo Mobile? 🔴

Descubre el Desarrollo de Apps Móviles Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en Desarrollo de Apps Móviles por una semana

Cabe resaltar que el guardar la información no es solo añadirla al objeto SharedPreferences, sino que necesita realizar el proceso de abrir el fichero XML que se tiene en el dispositivo y guardarla allí, lo que implica una petición a disco. Con esto queremos recalcar que dicha tarea podría tardar demasiado tiempo.

De modo que, para evitar esto, se recomienda el uso de apply que, de cierta manera, funciona igual que el commit. No obstante, el almacenamiento de datos se hace en segundo plano, por lo que, la función apply nos va a asegurar que el acceso a disco no va a realizarse justo en el momento de ejecutar la función. Es así como el código de nuestra aplicación podrá continuar con la siguiente sentencia.

El problema que se puede presentar con apply es que todo el contenido que estamos indicando en esta función tarde demasiado en ser ejecutado. Lo que puede suceder es que, mientras tanto, intentemos acceder a otro valor, pero que ese contenido todavía no se haya almacenado.


Teniendo en cuenta todo lo que hemos mencionado, el uso de las funciones commit y apply en Kotlin depende de lo que se quiera realizar en cada uno de los momentos en los que sea necesario el almacenamiento de datos.

Ahora que tienes unas bases sobre las funciones commit y apply en Kotlin, es probable que desees ampliar mucho más la información sobre este concepto y otros de los términos que se encuentran relacionados con el desarrollo de apps móviles para Android.

Por ello, para ayudarte en tu proceso de formación en la rama tecnológica del desarrollo mobile, hemos construido nuestro Desarrollo de Apps Móviles Full Stack Bootcamp. Con esta formación intensiva e íntegra de alta calidad, podrás adquirir información fundamental y detallada sobre cómo son los procesos de desarrollo y diseño de apps multiplataforma, además de aprender cuáles son los fundamentos para diseñar en iOS y Android y las pautas de diseño de aplicaciones indispensables para todo desarrollador. Todo ello junto a profesionales con una gran experiencia en este campo y de forma tanto práctica como teórica para afianzar mejor todos los conocimientos adquiridos en los distintos módulos del bootcamp¡No lo pienses más y matricúlate cuanto antes para continuar aprendiendo!

Jose Luis Bustos
Jose Luis Bustos

Lead Software Architect & Coordinador del Bootcamp en Desarrollo de Apps Móviles iOS & Android.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo de apps móviles ios & Android

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado