Calidad básica de las apps

Esta es una copia archivada y se actualizó por última vez el 10 de febrero de 2021. También puedes consultar los lineamientos actuales.

En esta lista de tareas, se define un conjunto de criterios principales de calidad y pruebas relacionadas que te ayudarán a evaluar la calidad de tu app. Algunos de estos criterios pueden ser fáciles de omitir, y las pruebas te ayudarán a que los incluyas en tus planes de prueba.

La lista de tareas destaca la calidad mínima que deben cumplir todas las apps. Es probable que las pruebas vayan más allá de lo que se describe aquí.

Cada elemento de la lista de tareas de calidad tiene un ID único que puede resultarte útil a la hora de comunicarte con tu equipo.

Experiencia visual

Tu app debe proporcionar los patrones de interacción y diseño visual estándares de Android cuando corresponda a fin de garantizar una experiencia del usuario intuitiva y coherente.

Área ID Pruebas Descripción
Navigation VX-N1 CR-3 La app admite la navegación estándar del botón Atrás y no utiliza avisos personalizados en pantalla para este.
VX-N2 CR-3 La app admite la navegación por gestos a fin de navegar a la pantalla principal y volver a ella.
VX-N3 CR-1
CR-3
CR-5

La app preserva y restaura correctamente el estado del usuario o la app.

La app preserva el estado del usuario o la app cuando abandona el primer plano y evita la pérdida accidental de datos a causa de la navegación hacia atrás y otros cambios de estado.

Cuando regresa al primer plano, la app debe restablecer el estado preservado y cualquier transacción con estado importante que esté pendiente. Entre los ejemplos, se incluyen cambios en campos editables, progreso de un juego, menús, videos y otras secciones de la app o el juego.

  1. Cuando se reanuda la app desde el conmutador de Apps recientes, la app regresa al usuario al estado exacto en que se encontraba la última vez que este la utilizó.
  2. Cuando se reanuda la app después de la activación del dispositivo (luego de haber estado bloqueado), esta regresa al usuario al estado exacto en que se encontraba en la última utilización.
  3. Cuando se reinicie desde Página principal o Todas las apps, la app debería realizar una de las siguientes acciones, según cuánto tiempo haya transcurrido desde la última utilización:
    • Si la app se usó por última vez hace poco tiempo (minutos), restablece el estado de la app lo más cerca posible de su estado anterior.
    • Si pasó más tiempo desde que se usó la app por última vez, restablécela lo más cerca posible de su estado anterior o iníciala en su pantalla principal o en cualquier otro estado predeterminado.
Notificaciones VX-S1 CR-9

Las notificaciones siguen los lineamientos de Material Design. En particular:

  1. Las notificaciones no se utilizan para realizar promoción cruzada ni para publicitar otro producto, ya que Play Store lo prohíbe de forma estricta.
  2. Define los canales de notificaciones de forma adecuada en virtud de las prácticas recomendadas, en lugar de entregar todas las notificaciones desde un canal único.
  3. Selecciona la prioridad de notificación correcta.
  4. Cuando sea posible, las notificaciones se consolidarán en un solo grupo de notificaciones.
  5. Establece tiempos de espera para las notificaciones cuando sea necesario.
  6. Las notificaciones son persistentes solo si están relacionadas con eventos en curso, como una llamada telefónica o la reproducción de música (obtén más información en la sección Funcionalidades).
VX-S2 CR-9

Para apps de mensajería o sociales y conversaciones:

  1. Usa las notificaciones MessagingStyle para las conversaciones.
  2. Brinda compatibilidad con la acción de respuesta directa.
  3. Admite combinaciones de teclas en conversaciones e implementa prácticas recomendadas para obtener la mejor clasificación de uso compartido.
  4. Admite burbujas.
IU y gráficos VX-U1 CR-5 La app admite tanto la orientación horizontal como la vertical (si fuera posible).

Las orientaciones exponen ampliamente las mismas funciones y acciones, y conservan la paridad funcional. Se aceptan cambios mínimos en el contenido o las vistas.

VX-U2 CR-5 La app utiliza toda la pantalla en ambas orientaciones y no usa formato de pantalla ancha para compensar los cambios de orientación.

Se acepta el uso mínimo de formato de pantalla ancha para compensar pequeñas variaciones en la geometría de la pantalla.

VX-U3 CR-5 La app controla correctamente las transiciones rápidas entre las orientaciones de la pantalla sin presentar problemas de renderización ni perder el estado.
Calidad visual VX-V1 CR-all

La app muestra gráficos, texto, imágenes y otros elementos de la IU sin distorsión, esfumado ni pixelado notables.

  1. La app deberá usar interfaces dibujables en vector cuando sea posible.
  2. La app ofrece gráficos de alta calidad para todos los tamaños de pantalla y factores de forma orientados.
  3. No se observa suavizado en los bordes de los menús, los botones ni otros elementos de la IU.
VX-V2 CR-all

La app muestra texto y bloques de texto de forma aceptable para cada uno de los idiomas que admite.

  1. La composición es aceptable en todos los factores de forma compatibles.
  2. No se visualizan letras ni palabras cortadas.
  3. No se visualizan ajustes automáticos de línea incorrectos en botones ni íconos.
  4. Hay suficiente espacio entre el texto y los elementos que lo rodean.
VX-V3 CR-all El contenido de la app y el contenido web al que esta hace referencia admiten el tema oscuro.

Funcionalidad

Tu app deberá implementar el comportamiento funcional previsto.

Área ID Pruebas Descripción
Audio FN-A1 CR-1
CR-8
La reproducción de audio continúa cuando la app regresa a primer plano, o le indica al usuario que la reproducción está pausada.
FN-A2 CR-1
CR-2
CR-8
Si la reproducción de audio es una función principal, la app deberá admitir la reproducción en segundo plano.
FN-A3 CR-0

Cuando el usuario inicie la reproducción de audio, la app deberá realizar una de las siguientes acciones antes de que transcurra un segundo:

  1. Comenzar a reproducir el audio
  2. Proporcionar un indicador visual de que los datos de audio se están preparando
FN-A4 CR-0 La app deberá solicitar foco de audio cuando el audio comience a reproducirse y deberá abandonarlo cuando se detenga la reproducción.
FN-A5 CR-0 La app deberá controlar las solicitudes de foco de audio de otras apps. Por ejemplo, una app podría bajar el volumen de reproducción cuando otra reproduzca contenido de voz.
Contenido multimedia FN-M1 CR-0
CR-6
CR-8
Si la app reproduce audio en segundo plano, deberá crear una notificación con estilo MediaStyle.
FN-M2 CR-0 Si la app reproduce video, deberá admitir la reproducción pantalla en pantalla.
FN-M3 CR-0 Si la app codifica contenido de video, deberá hacerlo mediante el estándar de compresión de videos HEVC.
Se comparte FN-S1 CR-0 La app deberá usar Android Sharesheet cuando comparta contenido. Puede sugerir objetivos que no están disponibles para las soluciones personalizadas.
Servicio en segundo plano FN-B1 CR-6 Si es posible, la app evita que se ejecuten servicios en segundo plano. Para garantizar que el dispositivo del usuario funcione sin problemas, el sistema aplica varias restricciones a los servicios en segundo plano. Los siguientes no se consideran buenos usos de los servicios en segundo plano:
  • Mantener una conexión de red para las notificaciones
  • Mantener una conexión Bluetooth
  • Mantener el GPS encendido

Obtén más información a fin de elegir la solución adecuada para tu trabajo.

FN-B2 CR-10 La app admite correctamente las funciones de administración de energía que se introdujeron en Android 6.0 (Descanso y App Standby). Cuando se interrumpe la funcionalidad central por la gestión de energía, solo apps calificadas pueden solicitar una exención. Consulta Compatibilidad con otros casos de uso en Descanso y App Standby.

Rendimiento y estabilidad

Tu app debe proporcionar el rendimiento, la estabilidad, la compatibilidad y la capacidad de respuesta que los usuarios esperan.

Área ID Pruebas Descripción
Estabilidad PS-S1 CR-all
SD-1
La app no falla ni bloquea el subproceso de IU que provoca errores ANR ("Android no responde"). Usa el informe previo al lanzamiento de Google Play a fin de identificar posibles problemas de estabilidad. Después de la implementación, presta atención a la página de Android Vitals en Google Play Console.
Rendimiento PS-P1 CR-all
SD-1
La app se carga rápidamente o le proporciona al usuario comentarios en pantalla (como un indicador de progreso o una señal similar) en el caso de que tarde más de dos segundos en cargarse.
PS-P2 CR-all
SD-1
Las apps deberán renderizar los fotogramas cada 16 ms a efectos de alcanzar 60 fotogramas por segundo. Los desarrolladores podrán usar la opción Profile HWUI rendering en las pruebas. En el caso de que se presenten problemas, hay herramientas disponibles que ayudarán a diagnosticar la renderización lenta.
PS-P3 PM-1 Cuando StrictMode está activado (consulta Prueba StrictMode a continuación), no se verán destellos rojos (advertencias de rendimiento de StrictMode) durante la prueba de la app. Cualquier destello rojo indica un comportamiento inadecuado en relación con el almacenamiento, el acceso a la red o las fugas de memoria.
SDK PS-T1 CR-0 La app se ejecutará en la última versión pública de la plataforma de Android sin que se produzca una falla y sin que haya un impacto sobre la funcionalidad principal.
PS-T2 SP-1 La app se orienta al SDK de Android más reciente mediante la configuración del valor targetSdk.
PS-T3 SP-1 Se compilará la app con el último SDK estableciendo el valor compileSdk.
PS-T4 SP-2
SP-3
Todos los SDK de terceros usados están actualizados. Cualquier mejora que se realice a estos SDK, como la estabilidad, la compatibilidad o la seguridad, debe estar disponible de forma oportuna para los usuarios.

El desarrollador será responsable de toda la base de código de la app, incluidos los SDK de terceros que se usen.
PS-T5 CR-0 La app no usa interfaces que no pertenecen al SDK.
Batería PS-B1 BA-1 La app admite correctamente las funciones de administración de energía que se introdujeron en Android 6.0 (Descanso y App Standby). Cuando se interrumpe la funcionalidad central por la gestión de energía, solo apps calificadas pueden solicitar una exención. Durante el desarrollo, los desarrolladores podrán probar el comportamiento de App Standby y Descanso mediante estos comandos de ADB.

En términos del uso de batería, los desarrolladores podrán usar el generador de perfiles de energía de Android Studio o la herramienta Battery Historian, combinados con el trabajo previsto en segundo plano, a fin de diagnosticar el uso inesperado de la batería.

Privacidad y seguridad

Tu app debería administrar de forma segura los datos del usuario y su información personal con el nivel de permisos que resulte adecuado.

Además de esta lista de tareas, las apps publicadas en Google Play Store deberán cumplir con las políticas de Datos del usuario a efectos de proteger la privacidad del usuario.

Área ID Pruebas Descripción
Permisos SC-P1 SC-4 La app solicita solo la cantidad mínima absoluta de permisos que necesita a fin de admitir el caso de uso en cuestión. Para algunos permisos, como la ubicación, usa la ubicación aproximada en lugar de la precisa si es posible.
SC-P2

La app solo deberá solicitar permiso de acceso a datos sensibles (como los SMS, el registro de llamadas o la ubicación) o a servicios que cuesten dinero (como el Teléfono o los SMS) si están directamente relacionados con los casos de uso principales de las apps. Las consecuencias relacionadas con estos permisos deberán divulgarse de manera destacada al usuario.

Según cómo uses los permisos, puede haber una forma alternativa de cumplir con el caso de uso de tu app sin depender del acceso a la información sensible. Por ejemplo, en lugar de solicitar permisos relacionados con los contactos de un usuario, puede ser más apropiado solicitar acceso mediante un intent implícito.

SC-P3 CR-0 La app solicita permisos de tiempo de ejecución en contexto, cuando se solicita la funcionalidad, en lugar de hacerlo directamente durante el inicio de la app.
SC-P4 CR-0

La app deberá diseñar su UX de modo que transmita de forma clara el motivo por el que se necesitan ciertos permisos. Si eso no es posible, la app deberá seguir el flujo recomendado para explicar por qué una función requiere un permiso.

La app deberá degradarse de manera elegante cuando los usuarios rechacen o revoquen un permiso. La app no deberá impedir que el usuario acceda a ella.

Datos y archivos SC-DF1 SC-1 Todos los datos sensibles se almacenan en el almacenamiento interno de la app.
SC-DF2 SC-10 No se registran datos personales o sensibles de los usuarios en el registro del sistema ni en un registro específico de la app.
SC-DF3 La app no deberá usar ID de hardware que no se puedan restablecer, como el IMEI, para fines de identificación.
Identidad SC-ID1 CR-0 Brinda sugerencias para autocompletar las credenciales de la cuenta y otra información sensible, como información de tarjetas de crédito, direcciones físicas y números de teléfono.
SC-ID2 CR-0 Integra One Tap para Android y obtén una experiencia de acceso fluida.
SC-ID3 CR-0 Integra la autenticación biométrica a fin de proteger las transacciones financieras y la información sensible, como los documentos importantes de los usuarios.
Componentes de la app SC-AC1 SC-5 Solo se exportan los componentes de la aplicación que comparten datos con otras apps o aquellos que otras apps deberían invocar.

Esto incluye actividades, servicios, receptores de emisión y, en especial, proveedores de contenido.

Siempre define el atributo android:exported de forma explícita a fin de minimizar la confusión sobre el valor predeterminado.

SC-AC2 CR-0
SC-4

Todos los intents y transmisiones siguen las prácticas recomendadas:

  1. Usa intents explícitos si la aplicación de destino está bien definida.
  2. Usa intents a efectos de diferir los permisos a una app diferente que ya cuente con permiso.
  3. Comparte datos de manera segura entre apps.
  4. Los intents que contienen una carga útil se verifican antes de su uso.
  5. Si necesitas pasar un intent a otra app para que la app receptora pueda invocar y esperar una devolución de llamada en la app que realiza la llamada, no incluyas un intent anidado en los extras. Usa un PendingIntent.
  6. Cuando configures tus PendingIntents, establece explícitamente la marca inmutable si corresponde.
SC-AC3 SC-3 Todos los proveedores de contenido que comparten contenido entre tus apps usan android:protectionLevel="signature" para los permisos personalizados. Esto incluye actividades; servicios; receptores de emisión; y, en especial, proveedores de contenido. La mayoría de las apps no deben depender del acceso a una lista de paquetes instalados. A partir de Android 11, se restringió el acceso.
Redes SC-N1 SC-9 Todo el tráfico de red se envía mediante SSL.
SC-N2 SC-6 La aplicación declara una configuración de seguridad de red.
SC-N3 Si la aplicación utiliza los Servicios de Google Play, se inicializará el proveedor de seguridad cuando lo haga la aplicación.
Bibliotecas SC-U1 SP-2 Todas las bibliotecas, los SDK y las dependencias están actualizados.
SC-U2 No se incluyen bibliotecas de depuración en la app de producción. Esto puede causar problemas de rendimiento y de seguridad.
WebViews SC-W1 SC-6 No uses setAllowUniversalAccessFromFileURLs() para acceder al contenido local. En su lugar, usa WebViewAssetLoader.
SC-W2 SC-7 Las WebViews no deben usar addJavaScriptInterface() con contenido que no sea de confianza.

En su lugar, en Android 6.0 y versiones posteriores, usa los canales de mensajes HTML.

Ejecución SC-E1 La app no carga código dinámicamente desde fuera del APK de la app. Los desarrolladores deberán usar Android App Bundles, que incluyen Entrega de funciones en Play y Play Asset Delivery.

A partir de agosto de 2021, el uso de Android App Bundles será obligatorio para todas las apps nuevas en Google Play Store.

Criptografía SC-C1 La app usa un generador de números aleatorios y algoritmos criptográficos fuertes y proporcionados por la plataforma. Además, la app no implementa algoritmos personalizados.

Google Play

Asegúrate de que tus apps puedan publicarse en Google Play.

Área ID Pruebas Descripción
Políticas GP-P1 GP-all La app cumple estrictamente con los términos de la Política de Contenido para Desarrolladores de Google Play y no ofrece contenido inapropiado ni utiliza propiedad intelectual ni marcas de otros, entre otras cosas.
GP-P2 GP-1 El nivel de madurez de la app se establece de forma correcta en función de los Lineamientos de Clasificación del Contenido.
Página de detalles de la app GP-D1 GP-1
GP-2

El gráfico de funciones de la app sigue las pautas que se describen en este artículo de asistencia. Asegúrate de lo siguiente:

  1. El directorio de la app incluye un gráfico central de alta calidad.
  2. El gráfico central no contiene imágenes de dispositivos, capturas de pantalla ni texto pequeño que resulte ilegible cuando la app se reduzca en tamaño para visualizarse en el tamaño más pequeño de pantalla que tu app admita.
  3. El gráfico central no se parece a un anuncio publicitario.
GP-D2 GP-1 Las capturas de pantalla y los videos de la app no muestran ni hacen referencia a dispositivos que no sean Android.
GP-D3 GP-1 Las capturas de pantalla o los videos de la app no representan el contenido ni la experiencia que ofrece tu app de forma confusa.
Asistencia para el usuario GP-X1 GP-1 Los errores comunes informados por los usuarios en la pestaña Reseñas de la página de Google Play se abordan siempre que se puedan reproducir y ocurran en muchos dispositivos diferentes. Si se produce un error en unos pocos dispositivos, aún debes abordarlo en caso de que esos dispositivos sean especialmente populares o nuevos.

Configuración de un entorno de prueba

A fin de configurar un entorno de prueba para esta lista de tareas, te recomendamos lo siguiente:

  • Enfoque en las pruebas de emulador: Android Emulator es una excelente manera de probar tu app para diferentes resoluciones de pantalla y versiones de Android. Debes configurar los dispositivos emulados (AVD) a fin de representar los factores de forma y las combinaciones de hardware y software más comunes para tu base de usuarios objetivo.
  • Dispositivos de hardware: El entorno de pruebas debe incluir una pequeña cantidad de dispositivos de hardware reales que representen los factores de forma y las combinaciones de hardware y software claves que se encuentren actualmente disponibles para los consumidores. No es necesario que pruebes todos los dispositivos disponibles en el mercado. En su lugar, concéntrate en una pequeña cantidad de dispositivos representativos (incluso puedes usar uno o dos dispositivos por factor de forma).
  • Test Labs de dispositivos: También puedes usar servicios de terceros, como Firebase Test Lab, a fin de probar tu app en una variedad más amplia de dispositivos.
  • Prueba con la última versión de Android: Además de probar versiones representativas de Android para tu base de usuarios objetivo, siempre debes hacer pruebas con la última versión de Android (actualmente, Android 11). Esto garantizará que los cambios de comportamiento más recientes no afecten negativamente la experiencia del usuario.

Si deseas obtener una guía más completa sobre las pruebas, incluidas la prueba de unidades, la de integración y la de IU, consulta los aspectos fundamentales para pruebas en Android.

Procedimientos de prueba

Estos procedimientos de prueba te ayudarán a descubrir varios tipos de problemas de calidad en tu app. Puedes combinar las pruebas o integrar grupos de ellas en tus propios planes de prueba. Consulta las secciones anteriores a fin de obtener referencias que asocien criterios con estos procedimientos de prueba.

Tipo Realiza pruebas Descripción
Conjunto central CR-0

Navega a todas las partes de la app (pantallas, diálogos, configuraciones y flujos de usuarios).

  1. Si la aplicación permite editar o crear contenido, jugar o reproducir contenido multimedia, asegúrate de probar esos flujos.
  2. Mientras pruebas la app, genera interrupciones provenientes de otras apps, como recibir una notificación o una llamada telefónica, y aplica cambios transitorios en los atributos del dispositivo, como la conectividad de red, la función de la batería, la disponibilidad del GPS y la carga del sistema.
  3. Ingresa y prueba todos los flujos de compra directa desde la aplicación.
CR-1 Desde cada una de las pantallas de la app, presiona para ir a la página principal del dispositivo o desliza el dedo hacia arriba en la navegación por gestos y vuelve a iniciar la app desde la pantalla Todas las apps.
CR-2 Desde cada una de las pantallas de la app, pasa a otra que se esté ejecutando y luego regresa a la app que estés probando mediante el conmutador de Apps recientes.
CR-3 Desde cada una de las pantallas (y diálogos) de la app, presiona el botón Atrás o usa el gesto para deslizar hacia atrás.
CR-5 Desde cada una de las pantallas de la app, gira el dispositivo entre las orientaciones horizontal y vertical al menos tres veces.
CR-6 Cambia a otra app para enviar la que estás probando a segundo plano. Ingresa en Configuración y comprueba si la app que estás probando tiene servicios ejecutándose mientras se encuentra en segundo plano. En Android 4.0 y versiones posteriores, dirígete a la pantalla Apps y busca la app en la pestaña "En ejecución".
CR-7 Presiona el botón de encendido para colocar el dispositivo en modo de suspensión y luego presiona nuevamente el botón de encendido para reactivar la pantalla.
CR-8 Establece un bloqueo de pantalla en el dispositivo. Presiona el botón de encendido para colocar el dispositivo en modo de suspensión (el cual bloquea el dispositivo). A continuación, vuelve a presionar el botón de encendido para activar la pantalla y desbloquear el dispositivo.
CR-9 Inicia la app y observa en el panel lateral de notificaciones todos los tipos de notificaciones que la app puede mostrar. Cuando sea posible (en Android 4.1 y versiones posteriores), expande las notificaciones y presiona todas las acciones disponibles.
CR-10 Consulta Compatibilidad con otros casos de uso en Descanso y App Standby.
Instalación en tarjetas SD SD-1 Repite el paquete principal con la app instalada en la tarjeta SD del dispositivo (si la app admite este método de instalación).

A fin de mover la app a la tarjeta SD, puedes usar Configuración > Información de apps > Mover a la tarjeta SD.

Rendimiento y estabilidad SP-1 Revisa el archivo de manifiesto de Android y la configuración de compilación para asegurarte de que la aplicación esté compilada con la última versión disponible del SDK (targetSdk y compileSdk).
SP-2 Revisa el archivo build.gradle a fin de comprobar si hay dependencias desactualizadas.
SP-3 Usa la herramienta lint de Android Studio para detectar el uso de interfaces que no pertenezcan al SDK. También existen otros métodos de prueba alternativos.
Control del rendimiento PM-1 Repite el paquete principal con la creación de perfiles de StrictMode habilitada.

Presta mucha atención a la recolección de elementos no utilizados y su impacto en la experiencia del usuario.

Batería BA-1 Repite el paquete principal en los ciclos de Descanso y App Standby.

Presta mucha atención a las alarmas, los temporizadores, las notificaciones y las sincronizaciones, entre otros elementos. Si deseas obtener información sobre los requisitos y lineamientos, consulta Pruebas con Descanso y App Standby.

Seguridad SC-1 Revisa todos los datos guardados en el almacenamiento externo.
SC-2 Revisa cómo se controlan y procesan los datos que se cargan desde el almacenamiento externo.
SC-3 Revisa todos los proveedores de contenido definidos en el archivo de manifiesto de Android. Asegúrate de que cada proveedor tenga un protectionLevel adecuado.
SC-4 Revisa todos los permisos que tu app requiere en el archivo de manifiesto, el tiempo de ejecución y la pantalla de configuración de la app (Configuración > Información de apps) en el dispositivo.
SC-5 Revisa todos los componentes de la aplicación definidos en el archivo de manifiesto de Android para el estado de exportación apropiado. La propiedad de exportación debe establecerse explícitamente para todos los componentes.
SC-6 Revisa la configuración de seguridad de red de la app y asegúrate de que no se produzca ningún error de configuración en las verificaciones de lint.
SC-7 Para cada WebView, navega a una página que requiera JavaScript.
SC-8 En cada WebView, intenta navegar a sitios y contenido que tu app no cargue de forma directa.
SC-9 Declara una configuración de seguridad de red que inhabilite el tráfico de texto simple y, luego, prueba la app.
SC-10 Ejecuta la aplicación y prueba todas las funciones básicas mientras observas el registro del dispositivo. No se debe registrar ninguna información privada de los usuarios.
Google Play GP-1 Inicia sesión en Google Play Console a fin de revisar tu perfil de desarrollador, la descripción de la app, las capturas de pantalla, el gráfico de funciones, la clasificación del contenido y los comentarios de los usuarios.
GP-2 Descarga tu gráfico de funciones y las capturas de pantalla, y reduce su tamaño de modo que coincidan con el de la pantalla de los dispositivos y factores de forma objetivo.
GP-3 Revisa todos los recursos gráficos, el contenido multimedia, el texto, las bibliotecas de códigos y otros materiales incluidos en la descarga de la app o el archivo de expansión.

Prueba con StrictMode

Para la prueba de rendimiento, te recomendamos que habilites StrictMode en tu app y lo uses para detectar operaciones que podrían afectar el rendimiento, el acceso a la red, la lectura/escritura de archivos, etc. Busca operaciones potencialmente problemáticas en el subproceso principal y en otros.

Puedes establecer una política de supervisión por subproceso mediante StrictMode.ThreadPolicy.Builder y habilitar toda la supervisión compatible en ThreadPolicy con detectAll().

Asegúrate de habilitar la notificación visual de los incumplimientos de políticas para la ThreadPolicy mediante penaltyFlashScreen().