Sobes.tech
Middle+

Habla sobre los antipatróns en el desarrollo de Android.

sobes.tech AI

Respuesta de la IA

  • Uso de AsyncTask para operaciones prolongadas (mejor usar Kotlin Coroutines o RxJava).
  • Pasar View/Context a ViewModel (causa fugas de memoria).
  • Heredar directamente de Activity o Fragment para lógica básica (mejor usar composición).
  • Codificación rígida de cadenas, números, colores en lugar de usar recursos.
  • Bloqueo del hilo principal (MainThread) con operaciones síncronas largas.
  • Uso de variables estáticas para almacenar datos que requieren ciclo de vida.
  • Uso excesivo de layouts anidados, lo que causa problemas de rendimiento (ConstraintLayout o LinearLayout con peso es mejor).
  • Falta de manejo de cambios de configuración (rotaciones de pantalla, cambio de idioma).
  • Acceso directo a bases de datos o operaciones de red desde el hilo de UI.
  • Uso incorrecto de SharedPreferences para almacenar objetos grandes o datos confidenciales.
  • Falta de manejo de excepciones o implementación incorrecta (por ejemplo, bloques catch vacíos).
  • Uso de intenciones implícitas sin verificar la existencia de actividades adecuadas (resolveActivity).
  • Gestión incorrecta de suscripciones (por ejemplo, en RxJava), lo que lleva a fugas.

Ejemplo de anidamiento excesivo de layouts:

<!-- Malo -->
<LinearLayout>
    <LinearLayout>
        <TextView/>
    </LinearLayout>
</LinearLayout>

<!-- Bueno -->
<LinearLayout>
    <TextView/>
</LinearLayout>