Jelly Bean | Desarrolladores de Android | Android Developers\n¡Bienvenido a Android 4.3, una versión más dulce de Jelly Bean!\nAndroid 4.3 incluye optimizaciones de rendimiento y excelentes funciones nuevas para usuarios y desarrolladores. En este documento, se ofrece un panorama general de las novedades para desarrolladores.\nConsulta el documento de las API de Android 4.3 para obtener un panorama detallado de las nuevas API de desarrollador.\nObtén más información acerca de las nuevas funciones de Jelly Bean para usuarios en www.android.com.\nMás rápido, más fluido y con mayor respuesta\nAndroid 4.3 se basa en las mejoras de rendimiento que ya incluía Jelly Bean (sincronización de vsync, triple almacenamiento en búfer, latencia de la pantalla táctil reducida, mejor entrada de CPU y procesamiento 2D de hardware acelerado) y agrega nuevas optimizaciones que hacen que Android sea aún más rápido.\nPara aumentar el rendimiento de los gráficos, el procesador 2D de hardware acelerado ahora optimiza el flujo de comandos de dibujo y lo transforma en un formato de GPU más eficiente al reorganizar y fusionar las operaciones de dibujo. Para el multiprocesamiento, el procesador ahora también usa multiprocesamiento en varios núcleos de CPU a fin de realizar determinadas tareas.\nAndroid 4.3 también mejora el procesamiento de formas y texto. Las formas como círculos y rectángulos redondeados ahora se procesan con mayor calidad de una manera más eficiente. Las optimizaciones de texto incluyen mayor rendimiento cuando se utilizan múltiples fuentes o conjuntos de glifos complejos (CJK), mayor calidad de procesamiento al escalar texto y representación más rápida de las sombras paralelas.\nLa asignación de búfer de ventana mejorada da como resultado una asignación de búfer de imagen más rápida para tus apps, lo que reduce el tiempo necesario para comenzar el procesamiento cuando creas una ventana.\nPara gráficos de alto rendimiento, Android 4.3 incorpora compatibilidad con OpenGL ES 3.0 y lo hace accesible para apps mediante API nativas y de marco. En los dispositivos compatibles, el motor de procesamiento 2D de hardware acelerado aprovecha OpenGL ES 3.0 para optimizar la administración de texturas y aumentar la fidelidad del procesamiento de gradiente.\nAndroid 4.3 incorpora compatibilidad con plataformas para Khronos OpenGL ES 3.0, lo que les proporciona a los juegos y otras apps capacidades de gráficos 2D y 3D del más alto rendimiento en dispositivos compatibles. Puedes aprovechar OpenGL ES 3.0 y las extensiones EGL relacionadas con las API de marco o vinculaciones de API nativa mediante el kit de desarrollo nativo (NDK) de Android.\nLa nueva funcionalidad clave proporcionada en OpenGL ES 3.0 incluye aceleración de efectos visuales avanzados, compresión de textura ETC2/EAC de alta calidad como función estándar, una nueva versión del lenguaje de sombreado GLSL ES compatible con el punto flotante de 32 bits y enteros, procesamiento de texturas avanzado, tamaño de texturas estandarizado y formatos render-buffer.\nPuedes usar las API de OpenGL ES 3.0 para crear gráficos altamente complejos y eficientes que se ejecutan en una variedad de dispositivos Android compatibles y también puedes admitir un único formato estándar de compresión de texturas en esos dispositivos.\nOpenGL ES 3.0 es una función opcional que depende del hardware de gráficos subyacente. La compatibilidad ya está disponible en dispositivos Nexus 7 (2013), Nexus 4 y Nexus 10.\nConectividad con sensores y dispositivos Bluetooth Smart\nAhora puedes diseñar y compilar apps que interactúen con la última generación de dispositivos y sensores pequeños de bajo consumo que utilizan la tecnología Bluetooth Smart.\nAndroid 4.3 te ofrece una única API estándar para interactuar con dispositivos Bluetooth Smart.\nAndroid 4.3 incorpora compatibilidad de plataforma integrada para Bluetooth Smart Ready en la función fundamental y proporciona un conjunto estándar de API que las apps pueden usar para descubrir dispositivos cercanos, consultar servicios GATT y usar características de lectura y escritura.\nCon las nuevas API, tus apps pueden buscar dispositivos y servicios de interés de manera eficiente. Para cada dispositivo, puedes verificar los servicios GATT compatibles mediante el UUID y administrar las conexiones mediante el ID de dispositivo y la intensidad de la señal. Puedes conectarte a un servidor GATT alojado en el dispositivo y leer o escribir características, o registrar un objeto de escucha para recibir notificaciones cuando esas características cambien.\nPuedes implementar compatibilidad con cualquier perfil GATT. Puedes leer o escribir características estándar o agregar compatibilidad para características personalizadas según sea necesario. Tu app puede funcionar como cliente o servidor, y puede transmitir y recibir datos en cualquier modo. Las API son genéricas, por lo que podrás admitir interacciones con una variedad de dispositivos, como etiquetas de proximidad, relojes, medidores de actividad física, controladores de juegos, controles remotos, dispositivos de salud y más.\nLa compatibilidad con Bluetooth Smart Ready ya está disponible en los dispositivos Nexus 7 (2013) y Nexus 4. En los próximos meses, una cantidad cada vez mayor de dispositivos Android compatibles podrá usarse.\nPerfil AVRCP 1.3\nAndroid 4.3 agrega compatibilidad integrada con Bluetooth AVRCP 1.3, para que tus apps puedan admitir interacciones más ricas con dispositivos de transmisión de medios remotos. Las apps como los reproductores multimedia pueden aprovechar AVRCP 1.3 gracias a las API de cliente de control remoto que se presentan en Android 4.0. Además de exponer los controles de reproducción en los dispositivos remotos conectados con Bluetooth, ahora las apps pueden transmitir metadatos, como el nombre de la pista, el compositor y otros tipos de metadatos del contenido multimedia.\nLa compatibilidad de plataforma con AVRCP 1.3 se basa en la pila Bluetooth Bluedroid presentada por Google y Broadcom en Android 4.2. La compatibilidad está disponible de inmediato en los dispositivos Nexus y otros dispositivos compatibles con Android que ofrecen capacidades de A2DP/AVRCP.\nCompatibilidad con perfiles restringidos\nEl propietario de una tablet puede configurar uno o más perfiles restringidos en Configuración y administrarlos de forma independiente.\nTu app puede ofrecer restricciones para permitir que los propietarios administren el contenido de la app cuando se ejecuta en un perfil.\nAndroid 4.3 amplía la función multiusuario para tablets con perfiles restringidos, una nueva forma de administrar usuarios y sus capacidades en un solo dispositivo. Con los perfiles restringidos, los propietarios de tablets pueden configurar rápidamente entornos separados para cada usuario, con la posibilidad de administrar restricciones más detalladas en las apps que están disponibles en esos entornos. Los perfiles restringidos son ideales para amigos y familiares, usuarios invitados, kioscos, dispositivos de punto de venta y más.\nCada perfil restringido ofrece un espacio aislado y seguro con almacenamiento local, pantallas principales, configuraciones y widgets propios. A diferencia de los usuarios, los perfiles se crean desde el entorno del propietario de la tablet y se basan en las apps instaladas por el propietario y las cuentas del sistema. El propietario controla qué apps instaladas estarán habilitadas en el nuevo perfil. Además, el acceso a las cuentas del propietario está inhabilitado de manera predeterminada.\nLas apps que necesitan acceder a las cuentas del propietario (para el acceso a las cuentas, las preferencias y otros usos) pueden aceptar declarar un atributo manifiesto, y el propietario puede revisar y administrar esas apps desde la configuración del perfil.\nPara los desarrolladores, los perfiles restringidos ofrecen una nueva forma de ofrecer más valor y control a tus usuarios. Puedes implementar restricciones de apps (controles de contenido o funciones compatibles con tu app) y anunciarlas a los propietarios de tablets en la configuración del perfil.\nPuedes agregar restricciones de apps directamente en las opciones de configuración del perfil mediante tipos booleanos, de selección y de multiselección predefinidos. Si quieres tener más flexibilidad, incluso puedes iniciar tu propia IU desde las opciones de configuración del perfil para ofrecer cualquier tipo de restricción que desees.\nCuando tu app se ejecuta en un perfil, puedes verificar las restricciones configuradas por el propietario y aplicarlas adecuadamente. Por ejemplo, una app multimedia puede ofrecer una restricción que permita al propietario configurar un nivel de madurez para el perfil. Durante la ejecución, la app podría comprobar la configuración de madurez y luego administrar el contenido de acuerdo con el nivel de madurez preferido.\nSi tu app no está diseñada para usarla en perfiles restringidos, puedes rechazarlos por completo, de modo que no se pueda habilitar en ningún perfil restringido.\nUbicación optimizada y funciones de sensor\nServicios de Google Play ofrece API de ubicación avanzada que puedes usar en tus apps. Android 4.3 optimiza estas API en dispositivos compatibles con nuevas funciones de hardware y software que minimizan el uso de la batería.\nEl geovallado de hardware optimiza la eficiencia energética al realizar el cálculo de ubicación en el hardware del dispositivo, en lugar de hacerlo en el software. En los dispositivos que admiten geovallado de hardware, las API de geovallado de Servicios de Google Play podrán aprovechar esta optimización para ahorrar batería mientras el dispositivo está en movimiento.\nEl modo de solo búsqueda de Wi-Fi es una nueva optimización de plataforma que permite a los usuarios mantener encendida la búsqueda de Wi-Fi sin conectarse a una red de Wi-Fi a fin de mejorar la precisión de la ubicación mientras se conserva la batería. Las apps que dependen de la conexión Wi-Fi para los servicios de ubicación ahora pueden solicitar a los usuarios que habiliten el modo de solo búsqueda de Wi-Fi desde la configuración avanzada. El modo de solo búsqueda de Wi-Fi no depende del hardware del dispositivo y está disponible como parte de la plataforma Android 4.3.\nLos nuevos tipos de sensores permiten que las apps administren mejor las lecturas de los sensores. Un vector de rotación de juegos permite a los desarrolladores de juegos detectar la rotación del dispositivo sin tener que preocuparse por la interferencia magnética. Los sensores de giroscopio no calibrado y magnetómetro no calibrado informan mediciones sin procesar y cálculos de sesgos a las apps.\nLas nuevas funciones de hardware ya están disponibles en los dispositivos Nexus 7 (2013) y Nexus 4, y cualquier fabricante de dispositivos o proveedor de conjuntos de chips puede incorporarlos en sus dispositivos.\nNuevas funciones multimedia\nMarco DRM modular\nPara satisfacer las necesidades de la próxima generación de servicios multimedia, Android 4.3 presenta un marco DRM modular que permite a los desarrolladores de aplicaciones multimedia integrar DRM más fácilmente en sus propios protocolos de transmisión, como MPEG DASH (Dynamic Adaptive Streaming mediante HTTP, ISO/IEC 23009-1).\nMediante una combinación de nuevas API y mejoras a las API existentes, el marco DRM multimedia proporciona un conjunto integrado de servicios para la administración de licencias y el aprovisionamiento, el acceso a códecs de bajo nivel y la decodificación de datos de medios encriptados. Una nueva API MediaExtractor te permite obtener los metadatos PSSH para los medios DASH. Las apps que usan el marco DRM multimedia administran la comunicación con la red mediante un servidor de licencias y controlan la transmisión de datos encriptados desde una biblioteca de contenido.\nAndroid 4.3 incluye compatibilidad integrada con codificación VP8, accesible desde API nativas y de marco. Para las apps que utilizan API nativas, la plataforma incluye encabezados de extensión OpenMAX 1.1.2 a fin de admitir perfiles y niveles de VP8. La compatibilidad con codificación VP8 incluye opciones de configuración para filtros de bucle, tasa de bits objetivo, control de velocidad, velocidad de fotogramas, partición de tokens, resistencia de errores y reconstrucción. La API de la plataforma presenta compatibilidad con el codificador VP8 en una variedad de formatos, por lo que puedes aprovechar el mejor formato para tu contenido.\nLa codificación VP8 está disponible en software en todos los dispositivos compatibles con Android 4.3. Para un mayor rendimiento, la plataforma también admite la codificación VP8 de hardware acelerado en dispositivos compatibles.\nCodificación de video desde una superficie\nA partir de Android 4.3, puedes usar una superficie como entrada para un codificador de video. Por ejemplo, ahora puedes dirigir una transmisión desde una superficie de OpenGL ES al codificador, en lugar de tener que copiar entre búferes.\nLas apps pueden usar las nuevas API del combinador multimedia para combinar transmisiones de audio y video elementales en un solo archivo de salida. Actualmente, las apps pueden multiplexar una sola transmisión de audio MPEG-4 y una sola transmisión de video por Internet MPEG-4 en un solo archivo de salida MPEG-4. Las nuevas API son una contraparte de las API de demultiplexación multimedia presentadas en Android 4.2.\nProgreso y arrastre de la reproducción en clientes de control remoto\nA partir de Android 4.0, los reproductores multimedia y las aplicaciones similares pueden ofrecer controles de reproducción desde clientes de control remoto, como la pantalla bloqueada del dispositivo, notificaciones y dispositivos remotos conectados mediante Bluetooth. A partir de Android 4.3, esas aplicaciones también pueden exponer el progreso y la velocidad de la reproducción a través de sus clientes de control remoto y recibir comandos para saltar a una posición de reproducción específica.\nNuevas formas de compilar apps fabulosas\nLas notificaciones siempre fueron una función muy popular de Android porque permiten a los usuarios ver información y actualizaciones de todo el sistema, todo en un solo lugar. Ahora, en Android 4.3, las apps pueden observar el flujo de notificaciones con el permiso del usuario y mostrar las notificaciones de la forma que deseen, incluido el envío a dispositivos cercanos conectados mediante Bluetooth.\nPuedes acceder a las notificaciones a través de nuevas API que te permiten registrar un servicio de detección de notificaciones y, con permiso del usuario, recibir notificaciones a medida que se muestran en la barra de estado. Las notificaciones se te envían de manera completa, con todos los detalles de la app que las origina, la hora de publicación, la apariencia y el estilo del contenido y la prioridad. Puedes evaluar los campos de interés en las notificaciones, procesar o agregar contexto desde tu app, y enrutarlos para que se muestren de la forma que elijas.\nLa nueva API te ofrece devolución de llamadas cuando se agrega, se actualiza y se quita una notificación (ya sea porque el usuario la descartó o porque la app en la que se originó la retiró). Podrás iniciar cualquier intent adjunto a la notificación o sus acciones, y también descartarla del sistema, y así permitir que tu app proporcione una interfaz de usuario completa para las notificaciones.\nLos usuarios mantienen el control sobre qué apps pueden recibir notificaciones. En cualquier momento, pueden ir a Configuración y ver qué apps tienen acceso a notificaciones, y habilitar o inhabilitar el acceso según sea necesario. El acceso a las notificaciones está inhabilitado de manera predeterminada. Las apps pueden usar un nuevo intent para llevar al usuario directamente a Configuración a fin de habilitar el servicio de detección después de la instalación.\nSuperposición de objetos View\nAhora puedes crear superposiciones transparentes sobre objetos View y ViewGroup para procesar una jerarquía de vista temporal o efectos de animación transitorios sin alterar la jerarquía de diseño subyacente. Las superposiciones son particularmente útiles cuando quieres crear animaciones, como deslizar una vista fuera de su contenedor o arrastrar elementos en la pantalla sin afectar la jerarquía de la vista.\nModo de diseño de límites ópticos\nUn nuevo modo de diseño te permite administrar el posicionamiento de los objetos View dentro de objetos ViewGroup según sus límites ópticos, en lugar de sus límites de recorte. Los límites de recorte representan el límite exterior real de un widget, mientras que los nuevos límites ópticos describen dónde parece estar el widget, dentro de los límites de recorte. Puedes usar el modo de diseño de límites ópticos para alinear correctamente los widgets que usan efectos visuales externos, como sombras y brillos.\nTipos de animación con rotación personalizada\nLas apps ahora pueden definir los tipos de animación de salida y entrada que se usan en una ventana cuando se gira el dispositivo. Puedes configurar las propiedades de la ventana para habilitar la rotación de ventana de corte abrupto, fundición entre recursos o estándar. El sistema usa los tipos de animación personalizada cuando la ventana es de pantalla completa y no está cubierta por otras ventanas.\nModos de orientación de la pantalla\nLas apps pueden establecer nuevos modos de orientación para objetos Activity a fin de garantizar que se muestren en la orientación adecuada cuando se gira el dispositivo. Además, pueden usar un nuevo modo para bloquear la pantalla en su orientación actual. Esta opción es útil para las apps que usan la cámara y desean desactivar la rotación mientras se graba un video.\nIntent para controlar respuestas rápidas\nAndroid 4.3 incorpora un nuevo intent público que permite que cualquier app pueda controlar respuestas rápidas, que son mensajes de texto enviados por el usuario en respuesta a una llamada entrante, sin necesidad de contestar la llamada o desbloquear el dispositivo. Tu app puede escuchar al intent y enviar el mensaje a la persona que llama mediante tu sistema de mensajería. El intent incluye al destinatario (la persona que llama) y el mensaje en sí.\nCompatibilidad con usuarios internacionales\nMás partes de Android 4.3 están optimizadas para idiomas con escritura de derecha a izquierda.\nMejoras para escritura de derecha a izquierda (RTL)\nAndroid 4.3 incluye mejoras en el rendimiento de RTL y una mayor compatibilidad para ese tipo de idiomas en todos los widgets de la IU de marco, incluidos ProgressBar/Spinner y ExpandableListView. Hay más información de depuración visible mediante la herramienta uiautomatorviewer. Además, más componentes de la IU del sistema ahora son compatibles con RTL, como las notificaciones, la barra de navegación y la barra de acciones.\nPara proporcionar una mejor experiencia en todo el sistema en secuencias de comandos RTL, ahora hay más apps predeterminadas del sistema que admiten diseños RTL, entre las que se incluyen Launcher, Configuración rápida, Teléfono, Personas, Asistente de configuración, Reloj, Descargas y más.\nUtilidades para localización\nLas pseudoconfiguraciones regionales hacen que sea más fácil probar la localización de tu app.\nAndroid 4.3 también incluye nuevas utilidades y API para crear mejores strings RTL y probar tus IU localizadas. Una nueva clase BidiFormatter proporciona una API simple para envolver strings Unicode, de modo que los datos de secuencias de comandos de RTL se muestren según lo previsto en los mensajes de configuración regional de escritura de izquierda a derecha, y viceversa. Para permitirte utilizar esta utilidad de manera más amplia en tus apps, la API BidiFormatter ahora también está disponible para versiones anteriores de la plataforma mediante el paquete de asistencia en el SDK de Android.\nPara ayudarte a administrar el formato de fecha en las configuraciones regionales, Android 4.3 incluye un nuevo método llamado getBestDateTimePattern() que genera automáticamente la mejor forma localizada posible de una fecha Unicode UTS para una configuración regional que tú especifiques. Es una forma práctica de proporcionar una experiencia más localizada a tus usuarios.\nA fin de ayudarte a probar tu app más fácilmente en otras configuraciones regionales, Android 4.3 presenta pseudo configuraciones regionales como una nueva opción para desarrolladores. Las pseudo configuraciones regionales simulan el idioma, la secuencia de comandos y las características de visualización asociadas con una configuración local o un grupo de idiomas. Actualmente, puedes probar con una pseudo configuración regional para inglés acentuado, lo que te permite ver cómo funciona tu IU con acentos y caracteres de secuencias de comandos que se utilizan en una variedad de idiomas europeos.\nAutomatización de IU y accesibilidad\nA partir de Android 4.3, los servicios de accesibilidad pueden observar y filtrar eventos clave, como controlar combinaciones de teclas o proporcionar paridad de navegación con entrada basada en gestos. El servicio recibe los eventos y puede procesarlos según sea necesario antes de pasarlos al sistema o a otras apps instaladas.\nLos servicios de accesibilidad pueden declarar nuevos atributos de capacidad para describir lo que pueden hacer sus servicios y qué funciones de la plataforma usan. Por ejemplo, pueden declarar la capacidad de filtrar eventos clave, recuperar contenido de ventanas, habilitar la Exploración táctil o habilitar las funciones de accesibilidad web. En algunos casos, los servicios deben declarar un atributo de capacidad para poder acceder a las funciones relacionadas de la plataforma. El sistema utiliza los atributos de capacidad del servicio a fin de generar un diálogo de aceptación para los usuarios, de modo que puedan ver y aceptar las capacidades antes del lanzamiento.\nSobre la base del marco de accesibilidad de Android 4.3, un nuevo marco de automatización de IU permite que las pruebas interactúen con la IU del dispositivo mediante la simulación de acciones del usuario e introspección del contenido de la pantalla. Mediante el marco de automatización de la IU, puedes realizar operaciones básicas, configurar la rotación de la pantalla, generar eventos de entrada, tomar capturas de pantalla y mucho más. Es una forma poderosa de automatizar las pruebas en escenarios de usuario realistas, incluidas las acciones o secuencias que abarcan múltiples aplicaciones.\nConfiguración empresarial y seguridad\nConfiguración de Wi-Fi para redes WPA2 Enterprise\nLas apps ahora pueden configurar las credenciales de Wi-Fi que necesitan para las conexiones a los puntos de acceso de WPA2 enterprise. Los desarrolladores pueden usar nuevas API para configurar el Protocolo de autenticación extensible (EAP) y las credenciales de EAP encapsuladas (Fase 2) para los métodos de autenticación utilizados en la empresa. Las apps con permiso para acceder y cambiar la conexión Wi-Fi pueden configurar credenciales de autenticación para una variedad de métodos de autenticación EAP y Fase 2.\nZona de pruebas de Android reforzada con SELinux\nAhora, Android usa SELinux, un sistema de control de acceso obligatorio (MAC) del kernel de Linux para aumentar la zona de pruebas de aplicaciones basada en UID. De esta manera, se protege el sistema operativo contra posibles vulnerabilidades de seguridad.\nMejoras de KeyChain\nLa API de KeyChain ahora proporciona un método que permite a las aplicaciones confirmar que las claves de todo el sistema están vinculadas a una raíz de confianza de hardware para el dispositivo. Esto proporciona un lugar para crear o almacenar claves privadas que no se pueden exportar del dispositivo, incluso en el caso de un compromiso de raíz o kernel.\nProveedor de almacén de claves de Android\nAndroid 4.3 presenta un proveedor de almacén de claves y API que permiten a las aplicaciones crear claves de uso exclusivo. Mediante las API, las apps pueden crear o almacenar claves privadas que otras apps no pueden ver ni utilizar, y pueden agregarse al almacén de claves sin ninguna interacción del usuario.\nEl proveedor de almacén de claves proporciona los mismos beneficios de seguridad que proporciona la API de KeyChain para las credenciales de todo el sistema, como las credenciales de vinculación con un dispositivo. Las claves privadas del almacén de claves no se pueden exportar del dispositivo.\nRestricción de Setuid desde apps de Android\nLa partición /system ahora se activa en nosuid para procesos generados por Zygote, lo cual evita que las aplicaciones de Android ejecuten programas setuid. De esta manera, se reduce la superficie de ataque de raíz y la probabilidad de posibles vulnerabilidades de seguridad.\nNuevas formas de analizar el rendimiento\nSystrace utiliza una nueva sintaxis de comandos y te permite recopilar más tipos de datos de generación de perfiles.\nRegistro de Systrace mejorado\nAndroid 4.3 admite una versión mejorada de la herramienta Systrace que es más fácil de usar y que te da acceso a más tipos de información para perfilar el rendimiento de tu app. Ahora puedes recopilar datos de registro de módulos de hardware; funciones de kernel; la máquina virtual Dalvik, incluida la recolección de elementos no utilizados; la carga de recursos; y más.\nAndroid 4.3 también incluye nuevas API de registro que puedes usar en tus apps para marcar secciones específicas de código a fin de hacer un registro con los eventos de inicio/finalización de Systrace. Cuando se ejecutan las secciones marcadas del código, el sistema escribe los eventos de inicio/finalización en el registro. El impacto en el rendimiento de tu app es mínimo, por lo que los tiempos informados te brindan una visión precisa de lo que está haciendo tu app.\nPuedes visualizar eventos específicos de la app en una línea de tiempo en el archivo de salida de Systrace y analizar los eventos en el contexto de otros datos de registro de kernel y espacio del usuario. Junto con las etiquetas de Systrace existentes, las secciones de apps personalizadas pueden proporcionarte nuevas formas de comprender el rendimiento y el comportamiento de tus apps.\nGeneración de perfiles de GPU en pantalla en Android 4.3.\nGeneración de perfiles de GPU en pantalla\nAndroid 4.3 agrega nuevas opciones para desarrolladores que te ayudan a analizar el rendimiento de tu app y detectar problemas de procesamiento en cualquier dispositivo o emulador.\nEn la opción Representación GPU del perfil ahora puedes visualizar la velocidad de fotogramas efectiva de tu app en pantalla, mientras la app se está ejecutando. Puedes elegir mostrar los datos del perfil como gráficos de barras o líneas en pantalla, con colores que indican el tiempo dedicado a crear comandos de dibujo (azul), emitir los comandos (naranja) y esperar a que se completen los comandos (amarillo). El sistema actualiza los gráficos en pantalla continuamente y muestra un gráfico para cada objeto Activity visible, incluidas la barra de navegación y la barra de notificaciones.\nUna línea verde destaca el umbral de 16 ms para las operaciones de procesamiento, por lo que puedes evaluar la velocidad de fotogramas efectiva de tu app en relación con un objetivo de 60 FPS (porque 1/60 de segundo equivale a aproximadamente 16 ms). Si ves operaciones que cruzan la línea verde, puedes analizarlas más a fondo con Systrace y otras herramientas.\nEn dispositivos con Android 4.2 y versiones posteriores, las opciones para desarrolladores están ocultas de forma predeterminada. Puedes revelarlas en cualquier momento. Para ello, toca 7 veces en Configuración > Acerca del dispositivo> Número de compilación en cualquier dispositivo Android compatible.\nAdvertencia de StrictMode para URI de archivo\nLa última incorporación a la herramienta StrictMode es una restricción de política que muestra una advertencia cuando tu app expone un URI file:// al sistema o a otra app. En algunos casos, es posible que la app receptora no tenga acceso a la ruta del URI file://; por lo tanto, al compartir archivos entre apps, se debe usar un URI content:// (con el permiso apropiado). Esta nueva política te ayuda a detectar y solucionar estos casos. Si estás buscando una manera conveniente de almacenar y exponer archivos a otras apps, intenta usar el proveedor de contenido FileProvider que está disponible en la Biblioteca de compatibilidad .\n¡Bienvenido a Android 4.2, la versión más reciente de Jelly Bean!\nAndroid 4.2 tiene optimizaciones de rendimiento, una interfaz de usuario de sistema actualizada y nuevas funciones excelentes para usuarios y desarrolladores. En este documento, se ofrece un panorama general de las novedades para desarrolladores.\nConsulta el documento de las API de Android 4.2 para obtener un panorama detallado de las nuevas API de desarrollador.\nAndroid 4.2 se basa en las mejoras de rendimiento que ya incluía Jelly Bean: sincronización de vsync, triple almacenamiento en búfer, latencia de la pantalla táctil reducida y mejor entrada de CPU, y agrega nuevas optimizaciones que hacen que Android sea aún más rápido.\nLas mejoras en el procesador 2D de hardware acelerado hacen que las animaciones comunes, como desplazarse y deslizarse, sean más rápidas y fluidas. En particular, el dibujo está optimizado para capas, recortes y algunas formas (rectas redondeadas, círculos y óvalos).\nUna variedad de optimizaciones de procesamiento de WebView hacen que el desplazamiento de las páginas web sea más fluido y libre de fluctuaciones y retrasos.\nEl Procesamiento de Renderscript de Android es la primera plataforma de cómputo adaptada para ejecutarse directamente en un GPU de dispositivo móvil. Aprovecha de manera automática los recursos de computación de GPU siempre que le resulta posible, lo que mejora de forma significativa el rendimiento del procesamiento de imágenes y gráficos. Cualquier app que use Renderscript en un dispositivo compatible puede beneficiarse inmediatamente de esta integración de GPU sin necesidad de volver a compilar.\nIU mejor definida y actualizada\nAndroid 4.2 define la experiencia del usuario de Jelly Bean de una mejor manera y ofrece patrones familiares de IU de Android, como la barra de estado, la barra del sistema y la ventana de notificaciones a todas las tablets.\nTodos los tamaños de pantalla ahora cuentan con la barra de estado en la parte superior, con acceso desplegable a las notificaciones y un nuevo menú de Configuración rápida. La conocida barra del sistema aparece en la parte inferior, con botones a los que se puede acceder fácilmente con cualquier mano. La bandeja de aplicaciones también está disponible en todos los tamaños de pantalla.\nUna tablet, muchos usuarios\nAhora varios usuarios pueden compartir una sola tablet Android y tener cada uno acceso conveniente a un espacio de usuario dedicado. Los usuarios pueden cambiar a sus espacios con solo tocar una vez desde la pantalla bloqueada.\nEn un dispositivo multiusuario, Android ofrece a cada usuario un entorno separado, que incluye el almacenamiento de la tarjeta SD emulado específico del usuario. Además, los usuarios tienen sus propias pantallas principales, widgets, cuentas, configuración, archivos y apps, y el sistema los mantiene separados. Todos los usuarios comparten los servicios centrales del sistema, pero el sistema se asegura de que las aplicaciones y los datos de cada usuario permanezcan aislados. De hecho, cada uno de los múltiples usuarios tiene su propio dispositivo Android.\nLos usuarios pueden instalar y desinstalar apps en cualquier momento en sus propios entornos. Para ahorrar espacio de almacenamiento, Google Play descarga un APK solamente si no está instalado por otro usuario en el dispositivo. Si la app ya está instalada, Google Play registra la instalación del nuevo usuario de la manera habitual, pero no descarga otra copia de la app. Varios usuarios pueden ejecutar la misma copia de un APK porque el sistema crea una nueva instancia para cada usuario, incluido un directorio de datos específico del usuario.\nPara los desarrolladores, la compatibilidad con la función multiusuario es transparente: no se requiere que tus apps realicen nada especial para ejecutarse normalmente en un entorno multiusuario ni se requieren cambios en los APK existentes o publicados. El sistema administra tu app en cada espacio de usuario tal como lo hace en un entorno de usuario único.\nNuevas formas de atraer a los usuarios\nA fin de poder acceder instantáneamente a tu contenido, puedes extender los widgets de la app para que se ejecuten en la pantalla bloqueada.\nWidgets de la pantalla bloqueada\nEn Android 4.2, los usuarios pueden colocar widgets de apps directamente en sus pantallas bloqueadas, lo cual les permite acceder de inmediato al contenido de su app favorita sin tener que desbloquear el dispositivo. Los usuarios pueden agregar hasta cinco widgets a la pantalla bloqueada y elegirlos entre los widgets proporcionados por las apps instaladas. La pantalla bloqueada muestra cada widget en su propio panel, lo que permite a los usuarios deslizar el dedo hacia la izquierda y hacia la derecha para ver diferentes paneles y sus widgets.\nAl igual que todos los widgets de apps, los widgets de la pantalla bloqueada pueden mostrar cualquier tipo de contenido y aceptar la interacción directa del usuario. Pueden ser autónomos por completo, como un widget que ofrece controles para reproducir música, o pueden permitir a los usuarios ir directamente a un objeto Activity en tu app después de desbloquear la pantalla si es necesario.\nPara los desarrolladores, los widgets de la pantalla bloqueada ofrecen una nueva forma de atraer a los usuarios. Te permiten poner tu contenido frente a los usuarios en una ubicación que verán con frecuencia y te ofrecen más oportunidades para atraer usuarios directamente a tu app.\nPuedes aprovechar esta nueva función al crear un nuevo widget de app o extender un widget de pantalla principal existente. Si tu app ya incluye widgets de la pantalla principal, puedes extenderlos a la pantalla bloqueada con un cambio mínimo. Para brindar una experiencia óptima a los usuarios, puedes actualizar el widget para usar el área de pantalla bloqueada completa cuando esté disponible y cambiar el tamaño cuando sea necesario en pantallas más pequeñas. También puedes agregar funciones a tus widgets que podrían resultar especialmente útiles o convenientes en la pantalla bloqueada.\nDaydream es un modo de protector de pantalla interactivo que se inicia cuando el dispositivo de un usuario está conectado o se está cargando. En este modo, el sistema inicia un daydream, un servicio de contenido remoto proporcionado por una app instalada, como protector de pantalla del dispositivo. El usuario puede habilitar Daydream desde la app de Configuración y luego elegir el daydream que se mostrará.\nLos daydream combinan las mejores funciones de fondos de pantalla animados y widgets de pantalla principal, pero son más potentes. Te permiten ofrecer cualquier tipo de contenido en un contexto nuevo, con interacciones del usuario, como pasar fotos, reproducir audio o video, o saltar directamente a tu app con solo tocar la pantalla una vez.\nDebido a que los daydream se pueden iniciar de manera automática cuando un dispositivo se está cargando o está conectado, también ofrecen a tu app una excelente manera de admitir nuevos tipos de experiencias de usuario, como el modo leanback o de exhibición, el modo kiosco o demo, y el "modo atraer", todo sin necesidad de contar con hardware especial.\nDaydream te permite crear increíbles protectores de pantalla interactivos que muestran cualquier tipo de contenido.\nLos daydream son similares a los objetos Activity y pueden hacer lo mismo que ellos, desde procesar una jerarquía de IU (sin usar RemoteViews) hasta dibujar directamente con Canvas, OpenGL, SurfaceTexture y más. Pueden reproducir video y audio, y hasta pueden aceptar la interacción directa del usuario. Sin embargo, los daydream no son actividades, por lo que no afectan la pila de actividades ni aparecen en Recientes, y no se pueden iniciar directamente desde tu app.\nPuedes implementar un daydream de manera directa y aprovechar los recursos y componentes de IU que ya creaste para otras partes de tu app. Puedes proporcionar múltiples daydream en tu app y ofrecer contenido distinto y opciones de configuración de visualización para cada uno.\nAndroid 4.2 presenta compatibilidad de plataforma para pantallas externas que va mucho más allá de la duplicación: las apps ahora pueden orientar contenido único a una o varias pantallas conectadas a un dispositivo Android. Las apps pueden aprovechar esto para ofrecer nuevos tipos de interacción y experiencias de entretenimiento a los usuarios.\nLas apps interactúan con pantallas mediante de un nuevo servicio del sistema de administrador de pantalla. Tu app puede enumerar las pantallas y verificar las capacidades de cada una, por ejemplo, el tamaño, la densidad, el nombre comercial, el ID, la compatibilidad con videos seguros y más. Tu app también puede recibir devoluciones de llamada cuando se agregan o quitan pantallas, o cuando cambian sus capacidades, para administrar mejor tu contenido en pantallas externas.\nPara facilitar la visualización de contenido en una pantalla externa, el marco proporciona un nuevo objeto de IU llamado Presentación, un tipo de diálogo que representa una ventana para el contenido de tu app en una pantalla externa específica. Tu app solo proporciona la pantalla que se debe usar, un tema para la ventana y un contenido único para mostrar. Presentación controla el aumento de los recursos y procesa tu contenido según las características de la pantalla de destino.\nCon Presentación, puedes tomar el control total de dos o más pantallas independientes.\nPresentación le ofrece a tu app el control total sobre la ventana de visualización remota y su contenido, y te permite administrarla en función de los eventos de entrada del usuario, como presionar teclas, los gestos, los eventos de movimiento y más. Puedes usar todas las herramientas habituales para crear una interfaz de usuario y procesar contenido en Presentación, desde crear una jerarquía de vista arbitraria hasta usar SurfaceView o SurfaceTexture para dibujar directamente en la ventana para el contenido transmitido o las vistas previas de la cámara.\nSelección de pantalla preferida\nCuando hay varias pantallas externas disponibles, puedes crear tantas Presentaciones como sea necesario y cada una de ellas mostrará contenido único en una pantalla específica. En muchos casos, es posible que solo desees mostrar tu contenido en una sola pantalla externa, pero siempre en la que sea mejor para el contenido de Presentación. Para ello, el sistema puede ayudar a tu app a elegir la mejor pantalla para usar.\nA fin de buscar la mejor pantalla para usar, tu app puede consultar al administrador de pantallas cuál es la pantalla de Presentación preferida del sistema y recibir devoluciones de llamada cuando la pantalla cambia. De manera alternativa, puedes usar el servicio de enrutador de medios, extendido en Android 4.2, para recibir notificaciones cuando cambie una ruta de video del sistema. Tu app puede mostrar contenido de forma predeterminada en el objeto Activity principal hasta que se adjunte una pantalla de Presentación preferida, momento en el cual puede cambiar automáticamente al contenido de Presentación en la pantalla preferida. Tus apps también pueden usar MediaRouteActionProvider y MediaRouteButton del enrutador de medios para ofrecer una IU de selección de pantalla estándar.\nPara las apps que manejan contenido protegido o encriptado, ahora la API de pantalla informa las funciones de video seguro de las pantallas adjuntas. Tu app consulta una pantalla para averiguar si ofrece una salida de video seguro o proporciona búferes de gráficos protegidos y luego elige la transmisión o decodificación de contenido adecuados para que el contenido sea visible. Para mayor seguridad en los objetos SurfaceView, tu app puede establecer una marca segura para indicar que el contenido nunca debe aparecer en capturas de pantalla o en una salida de pantalla no segura, incluso cuando se duplica.\nA partir de Android 4.2, los usuarios de dispositivos compatibles pueden conectarse a una pantalla externa mediante Wi-Fi, con Pantalla Wi-Fi (una solución de pantalla inalámbrica entre pares que cumple con el programa de certificación Miracast™). Cuando hay una pantalla inalámbrica conectada, los usuarios pueden transmitir cualquier tipo de contenido a la pantalla grande, lo que incluye fotos, juegos, mapas y más.\nLas apps pueden aprovechar las pantallas inalámbricas de la misma manera que lo hacen con otras pantallas externas y no se necesita trabajo adicional. El sistema administra la conexión de red y transmite tu Presentación o cualquier otro contenido de la app a la pantalla inalámbrica según sea necesario.\nCompatibilidad nativa con idiomas de escritura de derecha a izquierda (RTL)\nLos desarrolladores ahora pueden duplicar sus diseños para idiomas con escritura de derecha a izquierda.\nAndroid 4.2 incorpora compatibilidad nativa plena para diseños RTL que incluye la duplicación del diseño. Con la compatibilidad nativa con RTL, puedes ofrecer la misma gran experiencia de app a todos tus usuarios, ya sea que su idioma use una secuencia de comandos que se lea de derecha a izquierda o uno que lea de izquierda a derecha.\nCuando el usuario cambia el idioma del sistema a una secuencia de comandos de derecha a izquierda, el sistema ahora proporciona una duplicación automática de los diseños de la IU de la app y todos los widgets de vista, además de la duplicación bidireccional de elementos de texto para lectura y entrada de caracteres.\nTu app puede aprovechar la duplicación del diseño RTL con un mínimo esfuerzo. Si quieres que la app se duplique, simplemente, declara un nuevo atributo en el manifiesto de la app y cambia todas las propiedades de diseño "izquierda/derecha" a nuevos equivalentes "inicio/fin". Luego, el sistema se encargará de la duplicación y visualización de tu IU según corresponda.\nPara tener un control preciso sobre la IU de tu app, Android 4.2 incluye nuevas API que le permiten administrar la dirección del diseño, la dirección del texto, la alineación del texto, la gravedad y la dirección de la ubicación en los componentes de View. Incluso puedes crear versiones personalizadas de diseño, elementos de diseño y otros recursos para mostrar cuando se utiliza una secuencia de comandos de derecha a izquierda.\nPara ayudarte a depurar y optimizar tus diseños personalizados de derecha a izquierda, la herramienta HierarchyViewer ahora te permite ver las propiedades de inicio/finalización, la dirección del diseño, la dirección del texto y la alineación del texto para todos los objetos View de la jerarquía.\nMejoras para idiomas internacionales\nAndroid 4.2 incluye la siguiente variedad de optimizaciones de fuentes y caracteres para usuarios internacionales:\nPara los usuarios coreanos, hay una nueva opción de fuente disponible: Nanum (나눔 글꼴) Gothic, una fuente unicode diseñada especialmente para la secuencia de comandos en coreano.\nCompatibilidad mejorada para el texto vertical japonés que se muestra en WebViews.\nInterletraje y posicionamiento de fuentes mejorados para fuentes predeterminadas índicas, tailandesas, árabes y hebreas.\nEl teclado predeterminado de Android también incluye un conjunto actualizado de diccionarios:\nDiccionarios mejorados para francés (compatible con bigrama), inglés y ruso\nNuevos diccionarios para danés, griego, finlandés, lituano, letón, polaco, esloveno, serbio, sueco y turco\nNuevas formas de crear una IU atractiva\nPara tener más control sobre tus componentes de la IU y hacerlos más modulares, Android 4.2 te permite anidar fragmentos dentro de fragmentos. Un nuevo administrador de fragmentos te permite insertar otros fragmentos como nodos secundarios de cualquier fragmento en la jerarquía de View.\nPuedes usar los fragmentos anidados de varias maneras, pero son especialmente útiles para implementar componentes de IU dinámicos y reutilizables dentro de un componente de IU que es dinámico y reutilizable. Por ejemplo, si usas ViewPager para crear fragmentos que se deslizan hacia la izquierda y hacia la derecha, ahora puedes insertar fragmentos en cada fragmento del localizador de vistas.\nPara permitirte aprovechar más ampliamente los fragmentos anidados en tu app, esta función se agrega a la versión más reciente de la Biblioteca de compatibilidad de Android.\nEl sistema ahora ayuda a los servicios de accesibilidad a distinguir entre exploración táctil y gestos de accesibilidad mientras está en modo de exploración táctil. Cuando un usuario toca la pantalla, el sistema notifica al servicio que se inició una interacción táctil genérica. Luego, hace un seguimiento de la velocidad de la interacción táctil y determina si es una exploración táctil (lenta) o un gesto de accesibilidad (rápida) y notifica al servicio. Cuando la interacción táctil finaliza, el sistema notifica al servicio.\nEl sistema proporciona una nueva opción de accesibilidad global que permite que un servicio de accesibilidad abra el menú de Configuración rápida en función de una acción del usuario. También se agregó en Android 4.2 un nuevo tipo de comentarios de accesibilidad para dispositivos braille.\nPara brindar a los servicios de accesibilidad estadísticas sobre el significado de los objetos View con fines de accesibilidad, el marco proporciona nuevas API para asociar un objeto View como etiqueta de otro View. La etiqueta de cada objeto View está disponible para los servicios de accesibilidad mediante AccessibilityNodeInfo.\nCámara mejorada con HDR\nAndroid 4.2 presenta una nueva interfaz y canalización de hardware de cámara para un mejor rendimiento. En los dispositivos compatibles, las apps pueden usar un nuevo Modo panorámico de cámara HDR para capturar una imagen con técnicas de imágenes de alto rango dinámico.\nAdemás, el marco ahora proporciona una API para permitir que las apps verifiquen si el sonido del obturador de la cámara se puede inhabilitar. Las apps pueden permitir al usuario inhabilitar el sonido o elegir un sonido alternativo en lugar del sonido del obturador estándar, el cual se recomienda.\nProcesamiento de Renderscript\nEn Android 4.2, el procesamiento de Renderscript presenta nuevas funciones de secuencia de comandos, nuevas optimizaciones e integración directa de GPU para el mayor rendimiento en las operaciones de computación.\nFilterscript es un subconjunto de Renderscript que se centra en el procesamiento de imágenes optimizado en una amplia gama de chipsets de dispositivos. Los desarrolladores pueden escribir sus operaciones de procesamiento de imágenes en Filterscript mediante la API de tiempo de ejecución de Renderscript estándar, pero dentro de restricciones más estrictas que aseguran una compatibilidad más amplia y una optimización mejorada entre CPU, GPU y DSP.\nFilterscript es ideal para operaciones de cálculo y procesamiento de imágenes simples de hardware acelerado, como las que podrían escribirse para sombreadores de fragmentos OpenGL ES. Debido a que establece un conjunto relajado de restricciones en el hardware, tus operaciones se optimizan y aceleran en más tipos de chipsets de dispositivos. Cualquier aplicación que se oriente al nivel de API 17, o a un nivel superior, puede usar Filterscript.\nElementos intrínsecos de secuencias de comandos\nEn Android 4.2, Renderscript agrega compatibilidad con un conjunto de elementos intrínsecos de secuencias de comandos: primitivos de filtrado implementados previamente que se aceleran para reducir la cantidad de código que necesitas escribir y para garantizar que tu app obtenga la máxima ganancia de rendimiento posible.\nLos elementos intrínsecos están disponibles para mezclas, desenfoque, matriz de color, convolución 3 x 3 y 5 x 5, tabla de consulta por canal y conversión de un búfer YUV de Android a RGB.\nGrupos de secuencias de comandos\nAhora puedes crear grupos de secuencias de comandos de Renderscript y ejecutarlos todos con una sola llamada como si fueran parte de una sola secuencia de comandos. Esto permite que Renderscript optimice la ejecución de las secuencias de comandos de una manera que no sería posible si las secuencias de comandos se ejecutaran individualmente.\nLas comparativas de procesamiento de imágenes de Renderscript se ejecutan en diferentes versiones de la plataforma Android (Android 4.0, 4.1 y 4.2) solo en CPU de un dispositivo Galaxy Nexus.\nComparativas de procesamiento de imágenes de Renderscript que analizan operaciones ejecutadas con GPU + CPU en comparación con las ejecutadas solo en CPU en el mismo dispositivo Nexus 10.\nSi tienes que ejecutar un gráfico acíclico dirigido de operaciones Renderscript, puedes usar un builder para crear un grupo de secuencias de comandos que defina las operaciones. En el momento de la ejecución, Renderscript optimiza el orden de ejecución y las conexiones entre estas operaciones para obtener el mejor rendimiento.\nMejoras continuas de optimización\nCuando utilizas Renderscript para operaciones de cálculo, tus apps se benefician de las mejoras continuas de rendimiento y optimización del mismo motor de Renderscript, sin ningún impacto en el código de tu app ni ninguna necesidad de recompilación.\nA medida que mejora la optimización, tus operaciones se ejecutan más rápido y en más conjuntos de chips, sin que tengas que realizar ningún trabajo. El cuadro de la derecha destaca el aumento de rendimiento que ofrecen las mejoras continuas de optimización de Renderscript en versiones sucesivas de la plataforma Android.\nProcesamiento de GPU\nEl Procesamiento de Renderscript es la primera plataforma de cómputo adaptada para ejecutarse directamente en un GPU de dispositivo móvil. Ahora aprovecha automáticamente los recursos de computación de GPU, siempre que le resulte posible, a fin de mejorar el rendimiento. Con la integración de GPU, incluso los cálculos más complejos para procesamiento de imágenes o gráficos pueden ejecutarse con un rendimiento significativamente mejorado.\nCualquier app que use Renderscript en un dispositivo compatible puede beneficiarse inmediatamente de esta integración de GPU sin necesidad de volver a compilar. La tablet Nexus 10 es el primer dispositivo que admite esta integración.\nNuevas opciones para desarrolladores integradas\nEl sistema Android 4.2 incluye una variedad de nuevas opciones para desarrolladores que facilitan la creación de apps con un excelente aspecto que funcionan bien. Las nuevas opciones presentan funciones para depurar y perfilar tu app desde cualquier dispositivo o emulador.\nEn dispositivos con Android 4.2, las opciones para desarrolladores están ocultas de forma predeterminada, lo que ayuda a crear una mejor experiencia para los usuarios. Puedes revelarlas en cualquier momento. Para ello, toca 7 veces en Configuración > Acerca del dispositivo> Número de compilación en cualquier dispositivo Android compatible.\nLas nuevas opciones para desarrolladores te ofrecen más formas de perfilar y depurar en un dispositivo.\nLas nuevas opciones para desarrolladores en Android 4.2 incluyen las siguientes:\nIniciar informe de errores: Toma inmediatamente una captura de pantalla, descarga la información del estado del dispositivo en el almacenamiento local de archivos y luego los adjunta a un nuevo mensaje de correo electrónico saliente.\nInformes de errores en el menú de encendido: Agrega una nueva opción al menú de encendido y la configuración rápida del dispositivo para iniciar un informe de errores (ver arriba).\nVerificar aplicaciones por USB: Te permite inhabilitar las comprobaciones de apps para la transferencia de apps por USB, sin dejar de verificar apps de otras fuentes, como el navegador. Con esta opción, puedes acelerar el proceso de desarrollo y mantener la función de seguridad habilitada.\nVer actualiz. de capas de hardware: Las capas de hardware parpadean en color verde cuando se actualizan.\nMostrar superposición GPU: Destaca las áreas de superposición de GPU.\nForzar MSAA 4x: Habilita MSAA 4x en apps Open GL ES 2.0.\nSimular pantallas secundarias: Crea una o más ventanas de superposición no seguras en la pantalla actual para usar como pantalla remota simulada. Puedes controlar el tamaño y la densidad de la pantalla simulada.\nSeguimientos de OpenGL: Te permite hacer un seguimiento de la ejecución de OpenGL con Logcat, Systrace o la pila de llamadas en glGetError.\nNuevas tecnologías de plataforma\nAndroid 4.2 incluye una variedad de nuevas y mejoradas tecnologías de plataforma que permiten admitir casos prácticos de comunicaciones innovadoras en una amplia gama de dispositivos de hardware. En la mayoría de los casos, las nuevas tecnologías y mejoras de la plataforma no afectan directamente a tus apps, por lo que puedes beneficiarte de ellas sin realizar ninguna modificación.\nTodas las versiones de Android incluyen docenas de mejoras de seguridad para proteger a los usuarios. A continuación, se muestran algunas de las mejoras de Android 4.2:\nVerificación de aplicaciones: Los usuarios pueden elegir habilitar "Verificar aplicaciones" y hacer que las aplicaciones sean revisadas por un verificador de aplicaciones antes de la instalación. La verificación de aplicaciones puede alertar al usuario si intenta instalar una app que puede ser dañina. Si una app es particularmente mala, puede bloquear su instalación.\nMayor control de los SMS premium: Android proporcionará una notificación si una aplicación intenta enviar SMS a un código corto que utiliza servicios premium que pueden generar cargos adicionales. El usuario puede elegir si desea permitir que la aplicación envíe el mensaje o bloquearla.\nVPN siempre activada: La VPN se puede configurar para que las aplicaciones no tengan acceso a la red hasta que se establezca una conexión VPN. De esta manera, se evita que las aplicaciones envíen datos a través de otras redes.\nFijación de certificados: La implementación de SSL de libcore ahora es compatible con la fijación de certificados. Los dominios fijados recibirán un error de validación de certificado si el certificado no se encadena a un conjunto de certificados esperados. Esto brinda protección contra posibles compromisos de las autoridades certificadas.\nVisualización mejorada de los permisos de Android: Los permisos se organizaron en grupos que los usuarios pueden comprender más fácilmente. Durante la revisión de los permisos, el usuario puede hacer clic en el permiso para ver información más detallada.\nEndurecimiento de installd: El daemon installd no se ejecuta como usuario raíz, lo que reduce la superficie de ataque potencial para la elevación de privilegios raíz.\nEndurecimiento de la secuencia de comandos init: Ahora, las secuencias de comandos init aplican la semántica O_NOFOLLOW para evitar ataques relacionados con symlink.\nFORTIFY_SOURCE: Android ahora implementa FORTIFY_SOURCE. Esto lo utilizan las bibliotecas y aplicaciones del sistema para evitar daños en la memoria.\nConfiguración predeterminada de ContentProvider: Las aplicaciones que se orientan al nivel de API 17 tendrán "exportar" establecido en "falso" de forma predeterminada para cada ContentProvider, lo que reduce la superficie de ataque predeterminada para las aplicaciones.\nCriptografía: Se modificaron las implementaciones predeterminadas de SecureRandom y Cipher.RSA para usar OpenSSL. Se agregó compatibilidad con SSLSocket para TLSv1.1 y TLSv1.2 mediante OpenSSL 1.0.1.\nCorrecciones de seguridad: Las bibliotecas de código abierto actualizadas con correcciones de seguridad incluyen WebKit, libpng, OpenSSL y LibXML. Android 4.2 también incluye correcciones para vulnerabilidades específicas de Android. Los miembros de Open Handset Alliance recibieron información acerca de estas vulnerabilidades y las correcciones están disponibles en el Proyecto de código abierto de Android. A fin de mejorar la seguridad, algunos dispositivos con versiones anteriores de Android también pueden incluir estas correcciones.\nNueva pila Bluetooth\nAndroid 4.2 presenta una nueva pila Bluetooth optimizada para su uso con dispositivos Android. La nueva pila Bluetooth desarrollada en conjunto entre Google y Broadcom reemplaza la pila basada en BlueZ y proporciona compatibilidad y confiabilidad mejoradas.\nAudio de baja latencia\nAndroid 4.2 mejora la compatibilidad con la reproducción de audio de baja latencia a partir de las mejoras realizadas en el lanzamiento de Android 4.1 para la latencia de salida de audio con OpenSL ES, Soundpool y las API de generador de tonos. Estas mejoras dependen de la compatibilidad de hardware: los dispositivos que ofrecen estas funciones de audio de baja latencia pueden anunciar su compatibilidad a las apps mediante una constante de funciones de hardware. Se ofrecen nuevas API de AudioManager para consultar la tasa de muestreo de audio nativa y el tamaño del búfer que pueden usarse en dispositivos que reclaman esta función.\nNueva interfaz de hardware de la cámara\nAndroid 4.2 presenta una nueva implementación de la pila de cámaras. El subsistema de cámara incluye implementaciones para componentes de la canalización de la cámara, como la captura en modo de ráfaga con controles de procesamiento.\nNueva interfaz de hardware para NFC y nueva interfaz de controlador\nAndroid 4.2 presenta compatibilidad con controladores basados en la norma NCI de NFC Forum. NCI proporciona un protocolo de comunicación estándar entre un controlador NFC (NFCC) y un host del dispositivo, que es compatible con la nueva pila NFC desarrollada en conjunto entre Google y Broadcom.\nOptimizaciones de tiempo de ejecución de Dalvik\nEl tiempo de ejecución de Dalvik incluye mejoras de rendimiento y seguridad en una amplia gama de arquitecturas, que se muestran a continuación:\nCompatibilidad con JIT x86 de Intel y compatibilidad con JIT MIPS de MIPS\nParámetros optimizados de recolección de elementos no utilizados para dispositivos con menos de 512 MB\nLas implementaciones predeterminadas de SecureRandom y Cipher.RSA ahora usa OpenSSL\nCompatibilidad de SSLSocket con TLSv1.1 y TLSv1.2 mediante OpenSSL 1.0.1\nNueva compatibilidad intrínseca para los métodos StrictMath abs, min, max y sqrt\nBouncyCastle se actualizó a la versión 1.47\nzlib se actualizó a la versión 1.27\ndlmalloc se actualizó a la versión 2.8.6\n¡Bienvenido a Android 4.1, la primera versión de Jelly Bean!\nAndroid 4.1 es la versión más rápida y fluida de Android hasta la fecha. Realizamos mejoras en toda la plataforma y agregamos nuevas funciones excelentes para usuarios y desarrolladores. En este documento, se ofrece un panorama general de las novedades para desarrolladores.\nConsulta el documento de las API de Android 4.1 para obtener un panorama detallado de las nuevas API de desarrollador.\nObtén más información acerca de las funciones de Jelly Bean para usuarios en www.android.com.\nAndroid 4.1 está optimizado para ofrecer el mejor rendimiento de Android y la latencia de la pantalla táctil más baja en una interfaz de usuario intuitiva y sencilla.\nA fin de garantizar una velocidad de fotogramas constante, Android 4.1 extiende la sincronización de vsync en todos los dibujos y animaciones realizados por el marco de Android. Todo se ejecuta a la vez con una señal de monitoreo de funcionamiento de vsync de 16 milisegundos como referencia: el procesamiento de aplicaciones, los eventos de la pantalla táctil, la composición de la pantalla y la actualización de la pantalla, de manera que los fotogramas no se atrasan ni se adelantan.\nAndroid 4.1 también agrega triple almacenamiento en búfer en la canalización de gráficos, para una representación más coherente que hace que todo se sienta más fluido, desde el desplazamiento hasta la paginación y las animaciones.\nAndroid 4.1 reduce la latencia de la pantalla táctil no solo mediante la sincronización táctil para la sincronización de vsync, sino también mediante la anticipación de dónde estará tu dedo en el momento de la actualización de la pantalla. De esta manera, se obtiene una respuesta táctil más reactiva y uniforme. Además, después de períodos de inactividad, Android aplica un aumento de entrada de CPU en el próximo evento táctil para asegurarse de que no haya latencia.\nLas herramientas pueden ayudarte a obtener el mejor rendimiento en tus apps. Android 4.1 está diseñado para funcionar con una nueva herramienta llamada systrace, que recopila datos directamente del kernel de Linux para producir una imagen general de las actividades del sistema. Los datos se representan como un grupo de gráficos de series temporales apilados verticalmente para ayudar a aislar las interrupciones de procesamiento y otros problemas. La herramienta ya está disponible en el SDK de Android (versión R20 de Herramientas o superior)\nLas nuevas API para servicios de accesibilidad te permiten controlar gestos y administrar el enfoque de accesibilidad a medida que el usuario se mueve por los elementos en pantalla y los botones de navegación con gestos de accesibilidad, accesorios y otras entradas. El sistema Talkback y la función Explorar por tacto se rediseñaron para usar el enfoque de accesibilidad a fin de simplificar el uso y ofrecer un conjunto completo de API para desarrolladores.\nLos servicios de accesibilidad pueden vincular sus propios tutoriales a la configuración de Accesibilidad con el fin de ayudar a los usuarios a configurar y usar sus servicios.\nLas apps que usan componentes View estándar heredan la compatibilidad con las nuevas funciones de accesibilidad automáticamente, sin sufrir ningún cambio en su código. Las apps que usan objetos View personalizados pueden usar las nuevas API de nodo de accesibilidad para indicar las partes del objeto View que son de interés para los servicios de accesibilidad.\nCompatibilidad con texto bidireccional y otros idiomas\nAndroid 4.1 te ayuda a llegar a más usuarios gracias a la compatibilidad con texto bidireccional en los elementos TextView y EditText. Las apps pueden mostrar texto o controlar la edición de texto en secuencias de comandos de izquierda a derecha o de derecha a izquierda. Además, pueden usar las nuevas configuraciones regionales en árabe y hebreo, y fuentes asociadas.\nTambién se incluyen los siguientes tipos de compatibilidad de idiomas:\nIdiomas índicos adicionales: canarés, telugu y malabar\nLos nuevos caracteres de Emoji de la versión 6.0 de Unicode\nMejor compatibilidad de glifos para usuarios japoneses (procesa versiones específicas de glifos en japonés cuando el idioma del sistema está configurado en japonés)\nCompatibilidad con texto vertical en WebViews, que incluye texto ruby y glifos de texto vertical adicionales\nLa negrita sintética ahora está disponible para todas las fuentes que no tienen glifos en negrita dedicados\nMapas de teclas que el usuario puede instalar\nLa plataforma ahora admite mapas de teclas que el usuario puede instalar, como teclados internacionales adicionales y tipos de diseño especiales. De manera predeterminada, Android 4.1 incluye 27 mapas de teclas internacionales para teclados, incluido Dvorak. Cuando los usuarios conectan un teclado, pueden ir a la app de Configuración y seleccionar uno o más mapas de teclas para usar con ese teclado. Al escribir, los usuarios pueden cambiar entre mapas de teclas con una combinación de teclas (Ctrl + espacio).\nPuedes crear una app para publicar mapas de teclas adicionales en el sistema. El APK debería incluir los recursos de diseño del teclado, sobre la base del formato estándar de mapa de teclas de Android. La aplicación puede ofrecer diseños de teclado adicionales para el usuario mediante la declaración de un receptor de emisión adecuado para ACTION_QUERY_KEYBOARD_LAYOUTS en su manifiesto.\nLos desarrolladores pueden crear estilos de notificaciones personalizados, como los que se muestran en los ejemplos anteriores, para mostrar contenido enriquecido y atracciones.\nLas notificaciones han sido durante mucho tiempo una función única y popular en Android. Los desarrolladores pueden usarlas para colocar frente a los usuarios información importante o basada en el tiempo en la barra de notificaciones, fuera de la IU normal de la app.\nAndroid 4.1 incluye una actualización importante en el marco de notificaciones de Android. Ahora las apps pueden mostrar a los usuarios notificaciones más grandes y enriquecidas que se pueden expandir y contraer con un pellizco o deslizamiento. Las notificaciones admiten nuevos tipos de contenido, incluso fotos; tienen prioridad configurable; y hasta pueden incluir múltiples acciones.\nMediante un generador de notificaciones mejorado, las apps pueden crear notificaciones que usen un área más grande, hasta 256 dp de altura. Hay tres estilos de notificación con plantilla disponibles:\nBigTextStyle: Es una notificación que incluye un objeto TextView de varias líneas.\nBigInboxStyle: Es una notificación que muestra cualquier tipo de lista, como mensajes, titulares, etc.\nBigPictureStyle: Es una notificación que muestra contenido visual, como un mapa de bits.\nAdemás de los estilos con plantilla, puedes crear tus propios estilos de notificación con cualquier objeto View remoto.\nLas apps pueden agregar hasta tres acciones a una notificación, que se mostrarán debajo del contenido de la notificación. Las acciones permiten a los usuarios responder directamente a la información en la notificación de varias formas, como por correo electrónico o por llamada telefónica, sin visitar la app.\nCon notificaciones expandibles, las apps pueden brindar más información al usuario, sin esfuerzo y a pedido. Los usuarios mantienen el control y pueden mantener presionada cualquier notificación para obtener información acerca del remitente y, opcionalmente, inhabilitar otras notificaciones de la app.\nLos widgets de apps pueden cambiar de tamaño automáticamente para adaptarse a la pantalla principal y cargar contenido diferente a medida que cambian sus tamaños.\nWidgets de apps de tamaño variable\nAndroid 4.1 presenta widgets de apps mejorados que pueden cambiar de tamaño automáticamente, según el lugar en que el usuario los suelte en la pantalla principal, el tamaño al que los expanda y la cantidad de espacio disponible en la pantalla principal. Las nuevas API de widgets de apps te permiten aprovechar esto para optimizar el contenido del widget de la app a medida que cambia el tamaño de los widgets.\nCuando un widget cambia de tamaño, el sistema notifica al proveedor de widgets de la app host y este puede volver a cargar el contenido en el widget si es necesario. Por ejemplo, un widget podría mostrar gráficos más grandes y enriquecidos, o bien opciones y funcionalidades adicionales. Los desarrolladores siguen teniendo el control sobre los tamaños máximos y mínimos, y pueden actualizar otras opciones de widgets cuando sea necesario.\nTambién puedes proporcionar diseños horizontales y verticales independientes para sus widgets, que el sistema amplía según corresponda cuando cambia la orientación de la pantalla.\nLos widgets de apps ahora se pueden mostrar en selectores de terceros y otras apps host a través de un nuevo intent vinculado (AppWidgetManager.ACTION_APPWIDGET_BIND).\nNavegación de tareas simplificada\nAndroid 4.1 te facilita la administración de la navegación "hacia arriba" a la que los usuarios pueden acceder desde el interior de tus apps y ayuda a garantizar una experiencia constate para los usuarios.\nPuedes definir la navegación hacia arriba prevista para los componentes individuales del objeto Activity de tu IU agregando un nuevo atributo XML al archivo de manifiesto de la app. Durante el tiempo de ejecución, a medida que se inician los objetos Activity, el sistema extrae el árbol de navegación hacia arriba del archivo de manifiesto y crea automáticamente la navegación de prestación hacia arriba en la barra de acción. Los desarrolladores que declaran la navegación hacia arriba en el manifiesto ya no necesitan administrar la navegación mediante devolución de llamada en tiempo de ejecución, aunque también pueden hacerlo si es necesario.\nTambién está disponible una nueva clase TaskStackBuilder que te permite armar rápidamente una pila de tareas sintética para que comience de inmediato o para usarla cuando se inicia un objeto Activity desde un PendingIntent. La creación de una pila de tareas sintética resulta especialmente útil cuando los usuarios inician objetos Activity desde vistas remotas, como desde widgets y notificaciones de la pantalla principal, ya que permite al desarrollador proporcionar una experiencia administrada y coherente en la navegación hacia atrás.\nAnimaciones sencillas para el inicio de Activity\nPuedes usar una nueva clase de ayuda, ActivityOptions, para crear y controlar la animación que se muestra cuando inicias objetos Activity. Con esa clase, puedes especificar recursos de animación personalizados, para usarlos al iniciar la actividad, o solicitar nuevas animaciones de zoom que comiencen desde cualquier rectángulo que especifiques en la pantalla y que, de manera opcional, incluya un mapa de bits en miniatura.\nTransiciones a los modos sin luces y de pantalla completa\nLos nuevos indicadores de la IU del sistema del objeto View te permiten realizar una transición limpia de una IU normal de la app (con la barra de acción, la barra de navegación y la barra del sistema visibles), al "modo de luces apagadas" (con la barra de estado y la barra de acción ocultas, y la barra de navegación atenuada) o el "modo de pantalla completa" (con la barra de estado, la barra de acción y la barra de navegación ocultas).\nNuevos tipos de objetos View remotos\nLos desarrolladores ahora pueden usar las vistas GridLayout y ViewStub en los widgets y notificaciones de la pantalla principal. GridLayout te permite estructurar el contenido de tus vistas remotas y administrar las alineaciones de vistas secundarias con una jerarquía de IU más superficial. ViewStub es un objeto View invisible de tamaño cero que se puede usar para ampliar lentamente los recursos de diseño durante el tiempo de ejecución.\nVista previa del fondo de pantalla animado\nAndroid 4.1 permite a los usuarios encontrar e instalar fondos de pantalla animados desde apps que los incluyen. Si tu app incluye fondos de pantalla animados, ahora puedes iniciar un objeto Activity (ACTION_CHANGE_LIVE_WALLPAPER) que muestra al usuario una vista previa del fondo de pantalla animado desde tu propia app. Desde la vista previa, los usuarios pueden cargar directamente el fondo de pantalla animado.\nFotos de contacto de mayor resolución\nCon Android 4.1, puedes almacenar fotos de contactos de hasta 720 x 720, por lo que los contactos son más enriquecidos y personales. Las apps pueden almacenar y recuperar fotos de contacto en ese tamaño o usar cualquier otro tamaño necesario. El tamaño máximo de foto admitido en dispositivos específicos puede variar, por lo que las apps deberían consultar al proveedor de contactos incorporado durante el tiempo de ejecución a fin de obtener el tamaño máximo para el dispositivo actual.\nNuevos tipos y funciones de entrada\nObtén información acerca de los dispositivos que se agregaron y se quitaron\nLas apps pueden registrarse para recibir una notificación cuando se conectan dispositivos de entrada nuevos mediante USB, Bluetooth o cualquier otro tipo de conexión. Pueden usar esta información para cambiar el estado o las funciones según sea necesario. Por ejemplo, un juego podría recibir una notificación de que hay un nuevo teclado o joystick conectado, lo que indicaría la presencia de un nuevo jugador.\nConsulta las funciones de los dispositivos de entrada\nAndroid 4.1 incluye API que permiten que las apps y los juegos aprovechen al máximo todos los dispositivos de entrada que estén conectados y disponibles.\nLas apps pueden consultar al administrador de dispositivos para enumerar todos los dispositivos de entrada conectados actualmente y conocer las funciones de cada uno.\nControl de vibración en dispositivos de entrada\nEntre otras funciones, las apps ahora pueden usar cualquier servicio de vibración asociado con un dispositivo de entrada conectado, como los controladores Rumble Pak.\nVsync para apps\nExtender vsync a todo el marco de Android permite contar con una velocidad de fotogramas más coherente y una IU fluida y estable. Para que las apps también se beneficien, Android 4.1 extiende la sincronización de vsync a todos los dibujos y animaciones iniciados por las apps. Esto les permite optimizar las operaciones en procesamiento de IU y proporciona una base de tiempo estable para la sincronización.\nLas apps pueden aprovechar la sincronización de vsync de forma gratuita gracias al marco de animación de Android. El marco de animación ahora usa la sincronización de vsync para controlar automáticamente la sincronización entre los animadores.\nPara usos especializados, las apps pueden acceder a la sincronización de vsync mediante las API expuestas por una nueva clase de Choreographer. Las apps pueden solicitar la invalidación en el próximo marco de vsync, lo cual es una buena manera de programar la animación cuando la app no está usando el marco de animación. Para usos más avanzados, las apps pueden publicar una devolución de llamada que la clase Choreographer ejecutará en el siguiente marco.\nNuevos tipos de transición y acciones de animación\nEl marco de animación ahora te permite definir acciones de inicio y finalización que se realizan al ejecutar las animaciones de ViewPropertyAnimator, para ayudar a sincronizarlas con otras animaciones o acciones en la aplicación. La acción puede ejecutar cualquier objeto ejecutable. Por ejemplo, el objeto ejecutable podría especificar otra animación para que comience cuando finalice la anterior.\nAhora también puedes especificar que un ViewPropertyAnimator use una capa durante el curso de su animación. Anteriormente, era una práctica recomendada animar vistas complicadas. Para ello, se configuraba una capa antes de comenzar una animación y luego se administraba un evento onAnimationEnd() para quitar la capa al finalizar la animación. Ahora, el método withLayer() en ViewPropertyAnimator simplifica este proceso con una sola llamada al método.\nUn nuevo tipo de transición en LayoutTransition te permite automatizar animaciones en respuesta a todos los cambios de diseño en un ViewGroup.\nAndroid Beam es una tecnología popular basada en NFC que permite a los usuarios compartir contenido instantáneamente, con solo hacer que dos teléfonos compatibles con NFC se toquen entre sí.\nEn Android 4.1, Android Beam hace que sea más fácil compartir imágenes, videos u otras cargas útiles al aprovechar Bluetooth para la transferencia de datos. Cuando el usuario activa una transferencia, Android Beam pasa de NFC a Bluetooth, lo que facilita la administración de la transferencia de un archivo de un dispositivo a otro.\nDescubrimiento de servicios de red Wi-Fi\nAndroid 4.1 presenta compatibilidad con descubrimiento de servicios basados en DNS multidifusión, que permite que las aplicaciones encuentren servicios ofrecidos por dispositivos similares y se conecten a ellos mediante redes Wi-Fi, incluidos dispositivos móviles, impresoras, cámaras, reproductores multimedia y otros. Los desarrolladores pueden aprovechar el descubrimiento de servicios de red Wi-Fi para crear juegos multiplataforma o multijugador y experiencias de aplicaciones.\nMediante la API de descubrimiento de servicios, las apps pueden crear y registrar cualquier tipo de servicio, para que cualquier otro dispositivo con NSD lo descubra. El servicio se anuncia por multidifusión a través de la red con un identificador de string de lenguaje natural, que permite al usuario identificar más fácilmente el tipo de servicio.\nLos dispositivos de consumo pueden usar la API para buscar y descubrir servicios disponibles desde dispositivos conectados a la red Wi-Fi local. Después del descubrimiento, las apps pueden usar la API para resolver el servicio a una dirección IP y un puerto mediante el cual puede establecer una conexión de socket.\nPuedes aprovechar esta API para crear nuevas funciones en tus aplicaciones. Por ejemplo, podrías permitir a los usuarios conectarse a una cámara web, una impresora o una app de otro dispositivo móvil que sea compatible con conexiones P2P Wi-Fi.\nDescubrimiento de servicios Wi-Fi P2P\nIce Cream Sandwich presentó compatibilidad con conexión entre pares (P2P) Wi-Fi, una tecnología que permite a las apps describir servicios y sincronizarse, mediante una conexión de alto ancho de banda ente pares (que cumpla con el programa de certificación Wi-Fi Direct™ de Wi-Fi Alliance). P2P Wi-Fi es una forma ideal de compartir contenido multimedia, fotos, archivos y otros tipos de datos y sesiones, incluso cuando no hay red móvil o Wi-Fi disponible.\nAndroid 4.1 lleva P2P Wi-Fi más allá, y agrega compatibilidad de API para el descubrimiento de servicios asociados previamente. El descubrimiento de servicios asociados previamente permite que tus apps obtengan información más útil de los dispositivos cercanos sobre los servicios que admiten, antes de que intenten conectarse. Las apps pueden iniciar el descubrimiento de un servicio específico y filtrar la lista de dispositivos descubiertos en función de aquellos que realmente admiten el servicio o la aplicación de destino.\nEsto significa, por ejemplo, que tu app podría descubrir solo dispositivos que sean "impresoras" o que tengan un juego específico disponible, en lugar de descubrir todos los dispositivos P2P Wi-Fi cercanos. Por otro lado, tu app puede anunciar el servicio que proporciona a otros dispositivos, que pueden descubrirlo y luego negociar una conexión. Esto simplifica enormemente el descubrimiento y la sincronización para los usuarios y permite que las apps aprovechen P2P Wi-Fi de manera más efectiva.\nCon el descubrimiento del servicio P2P Wi-Fi, puedes crear apps y juegos multijugador que puedan compartir fotos, videos, juegos, puntuaciones o casi cualquier otro elemento, todo sin requerir ninguna red móvil o de Internet. Tus usuarios pueden conectarse solo con una conexión P2P directa, lo que evita el uso de ancho de banda móvil.\nAdministración del ancho de banda de red\nAndroid 4.1 ayuda a las apps a administrar el uso de datos de manera adecuada cuando el dispositivo está conectado a una red de uso medido, incluida la conexión mediante dispositivo móvil o una zona móvil. Las aplicaciones pueden consultar si la red actual es de uso medido antes de comenzar una descarga grande que de otro modo podría ser relativamente costosa para el usuario. Con la API, ahora puedes obtener una imagen clara de qué redes tienen en cuenta el uso de datos y administrar tu actividad de red en consecuencia.\nAcceso a códecs multimedia\nAndroid 4.1 proporciona acceso de bajo nivel a los códecs de hardware y software de la plataforma. Las apps pueden consultar el sistema para descubrir qué códecs multimedia de bajo nivel están disponibles en el dispositivo y luego usarlos según sus necesidades. Por ejemplo, ahora puedes crear varias instancias de un códec multimedia, poner en cola búferes de entrada y recibir búferes de salida a cambio. Además, el marco de códec multimedia admite contenido protegido. Las apps pueden consultar un códec disponible que pueda reproducir contenido protegido con una solución DRM disponible en el dispositivo.\nLa compatibilidad de salida de audio USB permite a los proveedores de hardware crear hardware, como conectores de audio que interactúan con dispositivos Android. Esta funcionalidad también se expone con el Kit de desarrollo de accesorios abiertos (ADK) de Android para ofrecer a todos los desarrolladores la oportunidad de crear su propio hardware.\nActivación de grabación de audio\nAhora, Android te permite activar la grabación de audio según la finalización de una pista de reproducción de audio, lo cual resulta útil para situaciones como reproducir un tono para indicar a los usuarios que deben comenzar a hablar para grabar sus voces. Esta función te ayuda a sincronizar la grabación para que no se grabe el audio que se está reproduciendo actualmente y evita que las grabaciones comiencen demasiado tarde.\nAndroid 4.1 admite el audio multicanal en dispositivos que tienen salida de audio multicanal por hardware mediante el puerto HDMI. El audio multicanal te permite ofrecer experiencias multimedia enriquecidas a los usuarios para aplicaciones como juegos, apps de música y reproductores de video. Para los dispositivos que no cuentan con el hardware compatible, Android mezcla automáticamente el audio para la cantidad de canales admitidos por el dispositivo (generalmente estéreo).\nAndroid 4.1 también agrega compatibilidad incorporada para codificar y decodificar audio AAC 5.1.\nPreprocesamiento de audio\nLos desarrolladores pueden aplicar efectos de preprocesamiento al audio que se está grabando, como reducción de ruido para mejorar la calidad de grabación de voz, cancelación del eco para el eco acústico y control de ganancia automática para audio con niveles de volumen inconstantes. Las apps que requieren grabación de audio claro y de alta calidad se beneficiarán de estos preprocesadores.\nEncadenamiento de audio\nMediaPlayer admite el encadenamiento de transmisiones de audio para reproducir archivos de audio sin pausas. Esta función es útil para apps que requieren transiciones perfectas entre archivos de audio, como reproductores de música para reproducir álbumes con pistas o juegos continuos.\nLas nuevas API de MediaRouter, MediaRouteActionProvider y MediaRouteButton proporcionan IU y mecanismos estándar para elegir dónde reproducir el contenido multimedia. Se incluye compatibilidad integrada con auriculares con cable y auriculares y bocinas Bluetooth a2dp. También puedes agregar tus propias opciones de enrutamiento dentro de tu app.\nAndroid 4.1 amplía el procesamiento de Renderscript para brindarte más flexibilidad. Ahora puedes hacer un muestreo de texturas en tus secuencias de comandos de procesamiento de Renderscript; también hay nuevos programas disponibles para definir la precisión de punto flotante requerida por tus secuencias de comandos. De esta manera, puedes habilitar las instrucciones NEON, como operaciones rápidas de matemáticas de vector en la ruta del CPU, que de otra manera no serían posibles con el estándar IEEE 754-2008 completo.\nAhora puedes depurar tus secuencias de comandos de procesamiento de Renderscript en emuladores basados en x86 y dispositivos de hardware. También puedes definir múltiples kernels de estilo raíz en un solo archivo de origen de Renderscript.\nNavegador y WebView de Android\nEn Android 4.1, el navegador y los WebViews de Android incluyen las siguientes mejoras:\nMejor experiencia del usuario de video HTML5, que incluye tocar para reproducir/pausar y una transición fluida del modo de intercalado al modo de pantalla completa.\nVelocidad de procesamiento mejorada y uso de memoria reducido para un mejor rendimiento de desplazamiento y zoom.\nRendimiento mejorado de animación HTML5/CSS3/Canvas.\nEntrada de texto mejorada.\nCompatibilidad con la especificación HTML5 de captura de contenido multimedia actualizada (el atributo "capture" en los elementos de entrada type=file).\nAPI y servicios de Google\nPara ampliar aún más las funciones de Android, hay varios servicios nuevos disponibles para Android.\nGoogle Cloud Messaging para Android\nGoogle Cloud Messaging (GCM) es un servicio que permite a los desarrolladores enviar datos en mensajes cortos a sus usuarios de dispositivos Android, sin necesidad de contar con una solución de sincronización propia.\nGCM controla todos los aspectos de la colocación de los mensajes en cola y los entrega de manera eficaz a los dispositivos Android específicos. Admite la multidifusión de mensajes y puede alcanzar hasta 1,000 dispositivos conectados simultáneamente con una sola solicitud. También admite cargas útiles de mensajes, lo cual significa que, además de enviar mensajes de señales a una app en el dispositivo, los desarrolladores pueden enviar hasta 4 KB de datos.\nGoogle Cloud Messaging es completamente gratuito para todos los desarrolladores y el registro es fácil. Consulta la página de Google Cloud Messaging para ver las descargas, la documentación y el registro.\nEncriptación de apps\nA partir de Android 4.1, Google Play ayudará a proteger los activos de la aplicación mediante la encriptación de todas las aplicaciones pagadas con una clave específica del dispositivo antes de que se entreguen y almacenen en un dispositivo.\nActualizaciones inteligentes de apps\nLas actualizaciones inteligentes de apps son una nueva función de Google Play que ofrece una mejor manera de enviar actualizaciones de apps a los dispositivos. Cuando los desarrolladores publican una actualización, Google Play ahora solo envía los bits que cambiaron a los dispositivos, en lugar de todo el APK. De esta manera, las actualizaciones son mucho más livianas en la mayoría de los casos, por lo que se descargan más rápido, ahorran batería del dispositivo y conservan el uso de ancho de banda del plan de datos móviles de los usuarios. En promedio, una actualización inteligente de app tiene aproximadamente 1/3 del tamaño de una actualización completa de APK.\nLos Servicios de Google Play ayudan a los desarrolladores a integrar los servicios de Google, como la autenticación, en sus apps entregadas mediante Google Play.\nLos Servicios de Google Play se aprovisionan automáticamente a los dispositivos de usuario final mediante Google Play, por lo que todo lo que necesitas es una biblioteca de cliente liviano en tus apps.\nDebido a que tu app solo contiene la biblioteca de clientes pequeños, puedes aprovechar estos servicios sin un gran aumento en el tamaño de descarga y la huella de almacenamiento. Además, Google Play ofrecerá actualizaciones periódicas de los servicios, sin que los desarrolladores necesiten publicar actualizaciones de la app para aprovecharlas.\nPara obtener más información sobre las API incluidas en los Servicios de Google Play, consulta la página del desarrollador de Servicios de Google Play.


Alejo cree "fundamental" el Reglamento de Extranjería ante la situación poblacional de CyL, con 72.524 extracomunitarios\nEl delegado del Gobierno en Castilla y León, Miguel Alejo, ha considerado este jueves que el nuevo Reglamento de Extranjería constituye una aportación "fundamental" para las políticas de mantenimiento y crecimiento de la población en la Comunidad, que cuenta con 72.524 ciudadanos extracomunitarios.\nAsí lo ha manifestado durante la presentación del nuevo Reglamento, del que ha destacado la cooperación y colaboración entre instituciones que contempla para, entre otros, resolver "un problema de todos", el de la población, que deben de solventar "entre todos" y que, en el caso de Castilla y León, es "fundamental" por su contribución a la "política autonómica" centrada en el mantenimiento y crecimiento de la población.\nAlejo, quien se ha referido al nuevo Reglamento como la "mayor regulación" de derechos y deberes para los extranjeros extracomunitarios que viven en España y con el que se "protege a los más débiles", ha cifrado en 186.958 lo extranjeros registrados en la Comunidad, de los que 112.958 son comunitarios y 74.524, extracomunitarios.\nAsimismo, de los 60.260 extranjeros afiliados a la Seguridad Social a 31 de marzo, 30.221 proceden de países miembros de la UE y 30.040, de países de fuera de la Unión, a los que se dirige el Nuevo Reglamento, que "consolida" un modelo basado en la regularidad y vinculado al mercado de trabajo, "fomenta" la integración social y la igualdad de derechos y deberes, potencia la colaboración con las administraciones y "simplifica" los procedimientos administrativos.\nAdemás, según el delegado, refuerza la reagrupación familiar, protege a los más vulnerables --prevé autorizaciones de residencia y trabajo y a mujeres víctimas de violencia de género y a sus hijos, entre otras--, e impulsa la competitividad y la movilidad de trabajadores.\nLas nueve oficinas de Extranjería de la Comunidad tramitaron, entre enero y marzo de este año, 14.025 solicitudes --en todo el 2010 fueron 42.696-- en un periodo medio de 36 días --el plazo máximo es de 90-- mientras que la capitalización por retorno entre enero y mayo de 2011 se cifra en 118 personas.


Reloj Viceroy Caballero, 401091-57 - Taffeit\nReloj Viceroy para caballero, con referencia 401091-57. Este modelo es sumergible a 3 Atm. Con correa y caja de acero. Su maquinaria es analógica con multifunciones.\nDiámetro / Grosor de la caja 39/10 mm


Suministro de líneas de preparación y moldeo para los proyectos “llave en mano”.\nLíneas para la producción de tejas, de ladrillos huecos, bovedillas, caravista y bloques.\nConocedores de cuán importante resulta la integración en un solo proyecto y la unidad de criterio de toda la ingeniería de proceso para conseguir la máxima calidad del producto final , damos un paso adelante y nos postulamos como prescriptores de las máquinas de preparación de tierras necesarias en cada proyecto teniendo en cuenta el tipo de producto requerido, el tipo de arcilla disponible y la idiosincrasia del lugar.\nAsí es como en EQUIPCERAMIC intentamos responder a las necesidades de nuestros clientes aportando siempre valor añadido:\nEquipceramic no es fabricante de máquinas de preparación y moldeo, por lo tanto no tiene ninguna prioridad ni necesidad de introducir una máquina en concreto. Equipceramic aporta una visión ceramista del proyecto y anteponemos la solución tecnológica a las maquinas en sí mismas. Contamos con la colaboración de los más reputados fabricantes de maquinaria del mercado para cada necesidad específica.\nEquipceramic unifica todos los componentes comerciales, para facilitar a nuestros clientes las tareas de mantenimiento, stocks y, calidad de los mismos.\nEquipceramic unifica los esquemas eléctricos y programas. Todos los programas electrónicos están hechos con el Standard de programación EQC, facilitando el trabajo al equipo de producción como al de mantenimiento.\nEquipceramic propone un Sistema de gestión Scada único para toda la planta, integrando todo el proceso.\nEquipceramic propone un único servicio de teleservice, para toda la planta.\nEquipceramic se postula como único interlocutor, coordinador y último responsable de toda la ejecución del proyecto. Nuestros proveedores suministran los equipos, nosotros decidimos su función y, nosotros aportamos los valores de nuestra empresa (gran equipo de ingenieros ceramistas, servicio técnico, servicio posventa, logística, servicio comercial, proximidad, servicio financiero, garantías…).\nEjemplos de líneas suministradas en los últimos años:\nLa Mediterranée (Marruecos)\nProgec Mac (Argelia)\nTuilerie el Moumtaza (Argelia)


En 2008 la cercanía del huracán Ike (que azotó en primer lugar a Haiti, posteriormente a la República Dominicana y Cuba y terminó azotando con fuerza Estados Unidos) brindó un fin de semana de carreras atípico, donde 125 y MotoGP no completaron toda la carrera y 250 ni siquiera pudo competir.\nFinales de agosto y principios de septiembre son momentos propicios para que se formen tormentas tropicales, tornados y huracanes en el continente americano y eso fue lo que perturbó la cotidaneidad del Campeonato del Mundo de MotoGP en 2008 y el debut de Indianápolis en el Mundial. Durante todo el fin de semana la inestabilidad y la cercanía del huracán Ike el quinto de la temporada y uno de los más debastadores de los últimos tiempos con 145 fallecidos entre Haití, República Dominicana, Cuba y Estados Unidos, hizo que los entrenamientos estuvieran pasados por agua.\nFinalmente el día de las carreras, el domingo 14 de septiembre amaneció con el huracán más cerca que en días anteriores y en fue ese punto comenzaron los problemas para los organizadores. Uno de los principales quebraderos de cabeza con el que se encontraron es que la cola del huracán arrastraba consigo fuertes vientos, que hacían volar las pancartas con el riesgo que ello conlleva y lo peor, los “airfence”, las protecciones inflables e imprescindibles en cualquier muro que esté demasiado cerca de la pista. Si bien las primeras podían ser desmontadas y guardadas, una carrera sin las protecciones no entraba en los planes. El segundo de los problemas llegó en forma de lluvia, que anegaba parte del “infield” de la pista, el interior del óvalo de Indianápolis, que es por donde transcurre la mayoría del trazado.\nFinalmente se pudo dar la salida a la carrera de 125 c.c. y Nico Terol comenzó una bonita batalla con Pol Espargaró que acabó antes de tiempo cuando la lluvia volvió a hacer acto de presencia. El triunfo fue a parar a manos de Terol, que conseguía de esta manera la primera victoria de su trayectoria, mientras que Pol Espargaró tuvo que conformarse con la segunda plaza. El tercer puesto lo ocupó aquel día Stefan Bradl.\nLa segunda carrera del día era la de 250 c.c. que fue aplazada para salir a pista después de MotoGP en un primer momento debido a la lluvia y posteriormente se canceló debido a las condiciones del trazado. Lo curioso de aquella carrera es que los pilotos ya estaban en parrilla cuando tuvieron que volver a boxes. Aunque, como es obvio, los equipos acataron la decisión tomada por la Comisión de Seguridad fueron varios los que mostraron su descontento.\nMotoGP si pudo arrancar la carrera bajo un aguacero que fue a más hasta que Dirección de Carrera tuvo que mostrar la bandera roja cuando faltaban 7 vueltas para el final. Aunque la intención de los organizadores era la de volver a poner en marcha la carrera, las condiciones hicieron inviable su relanzamiento, por lo que Valentino Rossi, Nicky Hayden y Jorge Lorenzo pasaron a la historia como los tres primeros clasificados en MotoGP el día que Indianápolis se estrenaba en el calendario y también el día que Ike fue el gran protagonista.\nMotoGP Indianápolis 2014: La última carrera de Colin Edwards en territorio americano


La Universidad Autónoma de Coahuila invita a la Exposición “A años luz” de Inés de la Cruz, el jueves 28 de mayo a las 20:00 horas en el Recinto del Patrimonio Cultural Universitario.\n27 mayo 2015; Saltillo, Coahuila.- La Universidad Autónoma de Coahuila invita a la Exposición “A años luz” de Inés de la Cruz, el jueves 28 de mayo a las 20:00 horas en el Recinto del Patrimonio Cultural Universitario.\nUbicado en la calle de Hidalgo Norte No. 211 en el Centro Histórico, se expone la obra pictórica que integra 19 piezas pintadas en acrílico con la temática del Génesis y el Big Bang, representada con la naturaleza y el medio ambiente del semidesierto.\nLa artista, Inés de León, originaria de Nuevo León, se desarrolló como artista en Alemania y Zacatecas, de donde tiene la mayor influencia de los maestros del arte contemporáneo y sus obras están caracterizadas por el silencio, la quietud y la austeridad.\nHa expuesto sus obras en la Muestra internacional de Arte contemporáneo en el World Trade Center de la ciudad de México; Museo Internacional de Artes y Ciencias de McAllen Texas; en la Habana Cuba; en los estados de San Luis Potosí, Zacatecas, Guanajuato y el Ex convento de San Idelfonso en Médico Distrito Federal, entre otros.\nEl talento de Inés de León forma parte de algunas colecciones de arte en México, Alemania, Inglaterra, California y Estados Unidos de América; actualmente se dedica de lleno a las artes a partir del Seminario “El arte de vivir, del arte dictado por Felipe Heremberger” en la ciudad de Zacatecas.\nEntrada anteriorSesión de Formación ICAI y AGSAL\nEntrada siguienteEncuentro de Alumnos Investigadores del Posgrado en UA de C\nINICIA CENTRO ONCOLÓGICO CON TRATAMIENTOS Y MEDICAMENTO DE PRIMER NIVEL\nINVITA GOBIERNO DEL ESTADO A PARTICIPAR EN CONCURSO REGIONAL DE FOTOGRAFÍA ‘LOS DERECHOS HUMANOS’


“Giordani El Chivo (Expiatorio)”, por Antonio Ledezma visionglobal.info\n“Giordani El Chivo (Expiatorio)”, por Antonio Ledezma\n26/06/2014 10:40 AM Opinión\n“Vacío de poder”. Eso fue lo que dejó Chávez y que no ha podido llenar Maduro. Según el exministro Giordani, el gurú del socialismo del siglo XXI, estamos en el limbo. En pocas palabras, aquí no hay gobierno. Padecemos de una crisis de gobernabilidad. Y pensar que para mantener el control del poder se llegó a desbancar y comprometer la salud financiera del país.\nLo confesó Giordani así: “Se trataba de la consolidación del poder político como un objetivo esencial para la fortaleza de la revolución y para la apertura de una nueva etapa del proceso. La superación se consiguió con un gran sacrificio y con un esfuerzo económico y financiero que llevó al acceso y uso de los recursos a niveles extremos que requerirán de una revisión para garantizar la sostenibilidad de la transformación económica y social”.\nEso constituye un delito, no solo de Giordani sino de todos los que participaron de esa estrategia, porque es indebido manipular los fondos públicos con estos despropósitos. Giordani delata los hechos de corrupción. Eso no es nuevo, lo advirtió el año pasado cuando aseguró en declaraciones registradas por todos los medios lo que se estaba haciendo en Cadivi. Eso lo replantea en esta carta: “Atacar la corrupción frenándola por un nuevo control de los grandes fondos del Estado”.\nPero Giordani sabía que esa “fiesta seguía” porque la lista las empresas de maletín y los más de 25.000 millones de dólares mezclados en los bolsos de un elenco de empresas fantasmas nunca se hizo pública. Pero la línea trazada desde Cuba era visible: “La preservación y desarrollo del legado de Chávez”. Los asesores franceses también fijaron su posición, eso igualmente está al desnudo, en pelota, a la vista de todo el mundo. Pero Giordani vuelve a evidenciar su obsesión cambiaria en las subastas de dólares, justo antes de llegar al llegadero.\nLa política del chivo expiatorio tiene como trofeo a Giordani. Pero está claro que Giordani tiene responsabilidad. Eso es obvio. Un total de 16 años diseñando, dirigiendo, apañando la política económica fracasada del gobierno, lo convierten en cómplice necesario. Ahora bien, él es uno más del gran circo, las coordenadas maestras las trazaba el jefe, siempre bajo consulta previa en Cuba. Desde luego que los asesores de Maduro aconsejarán convertirlo de la noche a la mañana en el único responsable, y a mi modo de ver es un error.\nInsisto, Giordani formó parte de un equipo liderado por Chávez y teledirigido desde La Habana. El gran responsable de la desgracia que vive el país es quien autoritariamente impuso a su equipo de áulicos la política económica que tiene a Venezuela en el abismo.\nLa crisis interna del gobierno que reventó con la salida de Giordani es apenas la punta del iceberg de un conflicto de intereses viciados, que ya es inocultable y que dará, más temprano que tarde, con lo que queda de lo que pomposamente llamaron el socialismo del siglo XXI. Lo que corresponde a Maduro y sus defensores no es apelar a la lealtad, sino explicar dónde están los 100.000 millones de dólares del Fonden, los 25.000 millones de dólares de Cadivi, los 18.000 millones de dólares que, en los últimos 3 años, han sido transferidos a Cuba en convenios, acuerdos, donaciones y regalos, todos subrepticios y que nadie conoce.\n“Los polvos trajeron estos lodos”. No hay milagro que salve a este gobierno de la debacle, mucho menos echando sobre los hombros de Giordani la única responsabilidad del desastre político-económico de la mal llamada revolución, y que está plasmada en lo que llaman el Plan de la Patria, que es la continuidad del legado de Chávez.