page.title=Android N for Developers
meta.tags="preview", "androidn"
page.tags="preview", "developer preview"
page.image=images/cards/card-n-apis_2x.png
@jd:body




<div id="qv-wrapper">
<div id="qv">
  <h2>Funciones claves para desarrolladores</h2>
  <ol>
      <ul style="list-style-type:none;">
        <li><a href="#multi-window_support">Compatibilidad con ventanas múltiples</a></li>
        <li><a href="#notification_enhancements">Notificaciones</a></li>
        <li><a href="#jit_aot">Compilación de JIT y AOT</a></li>
        <li><a href="#quick_path_to_app_install">Acceso rápido a la instalación de aplicaciones</a></li>
        <li><a href="#doze_on_the_go">Descanso en movimiento</a></li>
        <li><a href="#background_optimizations">Optimizaciones en segundo plano</a></li>
        <li><a href="#data_saver">Ahorro de datos</a></li>
        <li><a href="#vulkan">API Vulkan</a></li>
        <li><a href="#tile_api">API para mosaicos de Quick Settings</a></li>
        <li><a href="#number-blocking">Bloqueo de números</a></li>
        <li><a href="#call_screening">Filtración de llamadas</a></li>
        <li><a href="#multi-locale_languages">Configuraciones regionales e idiomas</a></li>
        <li><a href="#emoji">Nuevos emojis</a></li>
        <li><a href="#icu4">API de ICU4J en Android</a></li>
        <li><a href="#gles_32">API de OpenGL ES 3.2</a></li>
        <li><a href="#android_tv_recording">Grabación de Android TV</a></li>
        <li><a href="#android_for_work">Android for Work</a></li>
        <li><a href="#accessibility_enhancements">Accesibilidad</a></li>
        <li><a href="#direct_boot">Inicio directo</a></li>
        <li><a href="#key_attestation">Atestación de claves</a></li>
        <li><a href="#network_security_config">Configuración de seguridad de la red</a></li>
        <li><a href="#default_trusted_ca">CA de confianza predeterminada</a></li>
        <li><a href="#apk_signature_v2">Esquema de firma de APK v2</a></li>
        <li><a href="#scoped_directory_access">Acceso a directorios determinados</a></li>
        <li><a href="#keyboard_shortcuts_helper">Ayuda en los métodos abreviados del teclado</a></li>
        <li><a href="#sustained_performance_api">API de rendimiento sostenido</a></li>
        <li><a href="#vr">Soporte de RV</a></li>
        <li><a href="#print_svc">Mejoras del servicio de impresión</a></li>
        <li><a href="#virtual_files">Archivos virtuales</a></li>
        <li><a href="#framemetrics_api">API FrameMetricsListener</a></li>
      </ol>
</div>
</div>



<p>Android N aún se encuentra en proceso activo de desarrollo, pero puedes probarlo
ahora como parte de la N Developer Preview. En las secciones siguientes se destacan algunas de
las nuevas funciones para desarrolladores. </p>

<p>
  Asegúrate de ver los <a href="{@docRoot}preview/behavior-changes.html">Cambios de comportamiento</a> para obtener información sobre
  áreas en las cuales los cambios en las plataformas puedan tener efecto en tus aplicaciones, consultar las
  guías del desarrollador para conocer mejor las funciones claves y descargar la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referencia de la API</a> para obtener información sobre
  API nuevas.
</p>

<h2 id="multi-window_support">Compatibilidad con ventanas múltiples</h2>


<p>En Android N, presentamos una nueva y muy solicitada función multitarea
en la plataforma: la compatibilidad con ventanas múltiples. </p>

  <p>Los usuarios ahora pueden abrir dos aplicaciones al mismo tiempo en la pantalla. </p>
  <ul>
  <li>En teléfonos y tabletas
con Android N, los usuarios pueden ejecutar dos aplicaciones en paralelo
una encima otra en el modo de pantalla dividida. También tienen la posibilidad de modificar el tamaño de las aplicaciones arrastrando
la línea divisoria que se encuentra entre ellas. </li>

<li>En los dispositivos con Android TV, las aplicaciones pueden habilitar en forma automática el <a href="{@docRoot}preview/features/picture-in-picture.html">modo
"picture-in-picture"</a>. Esto les permite continuar mostrando contenido mientras el usuario explora otras
aplicaciones o interactúa con ellas.</li>
  </ul>

<div class="col-4of10">
<img src="{@docRoot}preview/images/mw-portrait.png" alt="" style="height:460px;padding-left:1em;" id="img-split-screen" />
<p class="img-caption">
  <strong>Figura 1:</strong> Aplicaciones en ejecución en el modo de pantalla dividida.
</p>

  </div>

<p>En las tabletas, en particular, y en otros dispositivos de pantallas más grandes, la compatibilidad con ventanas múltiples
ofrece nuevas maneras de atraer a los usuarios Puedes, habilitar acciones de arrastrar y soltar en
tu aplicación para que los usuarios arrastren contenido hacia tu aplicación &mdash;o desde ella; es una excelente
manera de mejorar su experiencia. </p>

<p>Es sencillo agregar compatibilidad con ventanas múltiples a tu aplicación y configurar la manera en que
administra la visualización de estas ventanas. Por ejemplo, puedes especificar las dimensiones mínimas
permitidas de tu actividad y evitar así que los usuarios den a la actividad un
tamaño inferior. También puedes inhabilitar la visualización de ventanas múltiples para tu aplicación, lo que
  garantiza que el sistema solo muestre tu aplicación en modo de pantalla completa.</p>

<p>
  Para obtener más información, consulta la documentación <a href="{@docRoot}preview/features/multi-window.html">Compatibilidad con ventanas múltiples</a>
  para desarrolladores.
</p>

<h2 id="notification_enhancements">Mejoras en las notificaciones</h2>

<p>En Android N, hemos rediseñado las notificaciones para facilitar y agilizar su
uso. Entre los cambios, se incluyen los siguientes:</p>

<ul>
  <li>
    <strong>Actualizaciones de plantillas</strong>: estamos actualizando las plantillas de notificaciones para
    poner nuevo énfasis en la imagen de héroe y el avatar. Los desarrolladores podrán
    aprovechar las nuevas plantillas con una cantidad mínima de ajustes en el código.
  </li>

  <li>
    <strong>Personalización del estilo de mensaje</strong>: puedes personalizar más etiquetas
    de la interfaz de usuario asociadas con tus notificaciones utilizando la clase
    <code>MessageStyle</code>. Puedes configurar el mensaje, el título de
    la conversación y la vista del contenido.
  </li>

  <li>
    <strong>Notificaciones agrupadas</strong>: el sistema puede agrupar mensajes
    (por ejemplo, por tema) y mostrar el grupo. Un usuario puede
    aplicar acciones, como Dismiss o Archive, en ellos. Si
    has implementado notificaciones para Android Wear, ya estarás familiarizado con
    este modelo.
  </li>

  <li>
    <strong>Respuesta directa</strong>: en el caso de las aplicaciones de comunicación en tiempo real, el
    sistema de Android admite respuestas en línea para que los usuarios puedan responder rápidamente a
    un mensaje SMS o de texto directamente dentro en la interfaz de notificaciones.
  </li>

  <li>
    <strong>Vistas personalizadas</strong>: dos API nuevas te permiten aprovechar las decoraciones
    del sistema, como los encabezados y las acciones de notificaciones, al usar vistas
    personalizadas en las notificaciones.
  </li>
</ul>

<div class="col-4of12">
  <img src="{@docRoot}preview/images/notifications-1.png" alt="" style="padding:.5em;max-width:226px">
</div>

<div class="col-4of12">
  <img src="{@docRoot}preview/images/notifications-3.png" alt="" style="padding:.5em;max-width:226px">
</div>

<div class="col-4of12">
  <img src="{@docRoot}preview/images/notifications-2.png" alt="" style="padding:.5em;max-width:226px">
</div>


<p class="img-caption">
  <strong>Figura 2:</strong> Notificaciones agrupadas y respuesta directa.
</p>

<p>Para obtener información acerca de cómo implementar las nuevas funciones, consulta la guía
  <a href="{@docRoot}preview/features/notification-updates.html">Notificaciones</a>.
</p>



<h2 id="jit_aot">Compilación de JIT y AOT guiada por perfiles</h2>

<p>En Android N, agregamos un compilador Just in Time (JIT) con generación de perfiles de código para
ART, lo cual te permite mejorar constantemente el rendimiento de las aplicaciones con Android mientras se
ejecutan. El compilador JIT complementa el compilador Ahead of Time (AOT) actual de ART
y permite mejorar el rendimiento del tiempo de ejecución, ahorrar espacio de almacenamiento y acelerar las actualizaciones
de aplicaciones y del sistema.</p>

<p>La compilación guiada por perfiles permite que ART maneje la compilación de AOT y JIT de cada aplicación
conforme a su uso real, además de las condiciones en el dispositivo. Por
ejemplo, ART conserva un perfil de los métodos directos de cada aplicación, y puede compilar previamente
y almacenar en caché dichos métodos para obtener el mejor rendimiento. A su vez, deja otras partes de la aplicación
sin compilar hasta que se usan realmente.</p>

<p>Además de mejorar el rendimiento de partes claves de la aplicación, la compilación guiada por
perfiles permite reducir la superficie de memora RAM total de una aplicación, incluidos los archivos binarios
asociados. Esta función tiene particular importancia en los dispositivos de memoria reducida.</p>

<p>ART administra la compilación guiada por perfiles de una manera que minimiza el impacto en la batería
del dispositivo. Realiza compilaciones previas únicamente cuando el dispositivo se encuentra inactivo y
en proceso de carga, lo cual permite ahorrar tiempo y batería haciendo el trabajo de manera anticipada.</p>

<h2 id="quick_path_to_app_install">Acceso rápido a la instalación de aplicaciones</h2>

<p>Uno de los beneficios más palpables del compilador JIT de ART es la velocidad de instalación de las
aplicaciones y de actualización del sistema. Incluso las aplicaciones de mayor tamaño, en las que se necesitaban varios minutos para la
optimización y la instalación en Android 6.0, ahora pueden instalarse en cuestión de
segundos. Las actualizaciones del sistema también son más rápidas, debido a que ya no hay un paso de optimización. </p>

<h2 id="doze_on_the_go">Descanso en movimiento...</h2>

<p>En Android 6.0, se presentó Descanso, un modo de sistema que ahorra batería aplazando
actividades de CPU y red de las aplicaciones cuando el dispositivo se encuentra inactivo; por ejemplo, al hallarse
sobre una mesa o en un cajón. </p>

<p>Ahora, en Android N, el modo Descanso ofrece el beneficio adicional de ahorrar batería en movimiento.
Siempre que la pantalla permanezca apagada durante un tiempo y el dispositivo esté desenchufado,
Descanso aplicará un subconjunto de las restricciones de CPU y red conocidas a las aplicaciones.
Esto significa que los usuarios pueden ahorrar batería aun cuando lleven sus dispositivos
en los bolsillos.</p>


<img src="/preview/images/doze-diagram-1.png" alt="" id="figure1" />
<p class="img-caption">
  <strong>Figura 3:</strong> Descanso ahora aplica
  restricciones para prolongar la duración de la batería aun cuando el dispositivo no está quieto.
</p>


<p>Poco tiempo después de que la pantalla se apaga, cuando el dispositivo no está enchufado, Descanso
restringe el acceso a la red y aplaza tareas y sincronizaciones. Durante períodos de mantenimiento
breves, las aplicaciones tienen acceso a la red y se ejecutan todas las
tareas y sincronizaciones aplazadas. Ten en cuenta que, cuando se activa la pantalla o se enchufa el dispositivo, se
desactiva el modo Descanso.</p>

<p>Cuando el dispositivo vuelve a estar quieto, desenchufado y con la pantalla apagada durante un
tiempo, Descanso aplica todas las restricciones de CPU y redes en {@link
android.os.PowerManager.WakeLock}, alarmas de {@link android.app.AlarmManager} y análisis de
GPS o Wi-Fi.</p>

<p>Las prácticas recomendadas para adaptar tu aplicación a Descanso no varían si el
dispositivo estará en movimiento o no. Por lo tanto, si ya actualizaste tu aplicación para que administre
Descanso correctamente, no tienes nada más que hacer. Si no lo hiciste, comienza a <a href="{@docRoot}training/monitoring-device-state/doze-standby.html#assessing_your_app">adaptarla
a Descanso</a> ahora.</p>

<h2 id="background_optimizations">Project Svelte: Optimizaciones en segundo plano</h2>

<p>Project Svelte representa un esfuerzo constante por minimizar el uso de memoria RAM a través del sistema y de las aplicaciones
en los diferentes dispositivos Android del ecosistema. En Android N, el objetivo principal de Project
Svelte es optimizar la manera en que las aplicaciones se ejecutan en segundo plano. </p>

<p>El procesamiento en segundo plano es una parte esencial de la mayoría de las aplicaciones. Cuando se maneja en forma adecuada, puede
hacer que la experiencia de tu usuario sea increíble &mdash;(inmediata, rápida y pertinente al contexto).
Cuando no se maneja de tal manera, el procesamiento en segundo plano puede suponer un consumo innecesario de memoria RAM (y
batería), y afectar el rendimiento del sistema para otras aplicaciones. </p>

<p>A partir de Android 5.0, {@link android.app.job.JobScheduler} ha sido el
método preferido para ejecutar tareas en segundo plano con resultados positivos
para los usuarios. Las aplicaciones pueden programar tareas y, al mismo tiempo, permitir que el sistema se optimice según las condiciones de
memoria, energía y conectividad. JobScheduler ofrece control y
simpleza, y nuestro deseo es que todas las aplicaciones lo usen. </p>

<p>
  Otra buena opción es <a href="https://developers.google.com/android/reference/com/google/android/gms/gcm/GcmNetworkManager">
  <code>GCMNetworkManager</code></a>, que forma parte de Google Play Services y
  ofrece una capacidad similar de programación de tareas con compatibilidad en versiones heredadas de
  Android.
</p>

<p>Continuaremos ampliando <code>JobScheduler</code> y
<code>GCMNetworkManager</code> para que se apliquen a más
casos de uso de tus aplicaciones; por ejemplo, en Android N ahora puedes programar procesos
en segundo plano según los cambios de los proveedores de contenido. Al mismo tiempo, comenzaremos a
dejar de usar algunos de los patrones anteriores que pueden reducir el rendimiento del sistema,
en especial, en dispositivos de memoria reducida.</p>

<p>En Android N, eliminaremos tres transmisiones implícitas que se usan normalmente &mdash;(
 {@link android.net.ConnectivityManager#CONNECTIVITY_ACTION}, {@link
  android.hardware.Camera#ACTION_NEW_PICTURE} y {@link
  android.hardware.Camera#ACTION_NEW_VIDEO}), ya que pueden activar los
procesos en segundo plano de varias aplicaciones al mismo tiempo, y así exigir la memoria y la batería. Si
tu aplicación recibe estas transmisiones, aprovecha la N Developer Preview y
  realiza la migración a <code>JobScheduler</code> y las API relacionadas, como alternativa. </p>

<p>
  Para obtener información detallada, consulta la documentación <a href="{@docRoot}preview/features/background-optimization.html">Optimizaciones
  en segundo plano</a>.
</p>


<h2 id="data_saver">Ahorro de datos</h2>

<div class="col-5of12" style="margin-right:1.5em;">
<img src="{@docRoot}preview/images/datasaver.png" style="border:2px solid #ddd">

<p class="img-caption" style="padding-right:2em;">
  <strong>Figura 4:</strong> Ahorro de datos en la configuración.
</p>
  </div>

<p>Durante la vida útil de un dispositivo móvil, el costo de un plan de datos móviles puede
superar fácilmente el costo del propio dispositivo. Para muchos usuarios, los datos móviles son un
recurso costoso que desean conservar. </p>

<p>En Android N, se presenta el modo de ahorro de datos, un nuevo servicio del sistema que permite reducir
el uso de datos móviles de las aplicaciones, ya sea con servicio de itinerancia, cerca del final del ciclo de facturación
o con un paquete de datos prepagos. El ahorro de datos permite que los usuarios controlen la manera en que las aplicaciones
usan los datos móviles y que los desarrolladores brinden un servicio más eficaz cuando el ahorro
de datos se encuentra activo. </p>

<p>Cuando un usuario habilita el ahorro de datos en <strong>Settings</strong> y el dispositivo está
conectado a una red o, el sistema bloquea el uso de datos en segundo plano y ordena a las aplicaciones
usar menos datos en primer plano siempre que sea posible (por ejemplo, limitando
la tasa de bits para la transmisión, reduciendo la calidad de la imagen y aplazando el valor optimista de almacenamiento previo en caché,
entre otras posibilidades). Los usuarios pueden incluir aplicaciones específicas en la lista blanca para
permitir el uso de datos medidos en segundo plano, incluso cuando está activado el ahorro de datos.</p>

<p>Android N extiende {@link android.net.ConnectivityManager} para que las aplicaciones
tengan una manera de <a href="{@docRoot}preview/features/data-saver.html#status">recuperar las
preferencias de ahorro de datos del usuario</a> y<a href="{@docRoot}preview/features/data-saver.html#monitor-changes"> monitorear
cambios en estas</a>. Todas las aplicaciones deben verificar si el usuario habilitó el ahorro
de datos e intentar limitar el uso de datos en primer y segundo plano.</p>


<h2 id="vulkan">API Vulkan</h2>

<p>
  Android N integra <a href="http://www.khronos.org/vulkan" class="external-link">Vulkan™</a>, una nueva API de visualización 3D, en la plataforma. Al igual que
  <a href="https://www.khronos.org/opengles/" class="external-link">OpenGL™
  ES</a>, Vulkan es un estándar abierto para gráficos y visualización 3D, cuyo mantenimiento está a cargo de
  Khronos Group.
</p>

<p>
  Vulkan se diseñó desde el principio para minimizar la sobrecarga de CPU en el controlador,
 y permite que tu aplicación controle el funcionamiento de la unidad de procesamiento de gráficos más directamente. También
  hace posible contar con un mejor trabajo en paralelo, ya que permite que varios subprocesos diversos realicen
  trabajos, como la construcción del búfer de comandos, a la vez.
</p>

<p>
  Las herramientas y las bibliotecas de desarrollo de Vulkan son parte del NDK de Android. Esto
incluye lo siguiente:
</p>

<ul>
  <li>Encabezados
  </li>

  <li>Capas de validación (bibliotecas de depuración)
  </li>

  <li>Compilador SPIR-V
  </li>

  <li>Biblioteca de compilación de tiempo de ejecución de SPIR-V
  </li>
</ul>

<p>
  Vulkan solo está disponible en las aplicaciones en dispositivos con hardware compatible con Vulkan,
  como Nexus 5X, Nexus 6P y Nexus Player. Estamos trabajando estrechamente con nuestros
  socios para que Vulkan se pueda utilizar en más dispositivos lo más pronto posible.
</p>

<p>
  Para obtener más información, consulta la <a href="{@docRoot}ndk/guides/graphics/index.html">documentación de la API</a>.
</p>

<h2 id="tile_api">API para mosaicos de Quick Settings</h2>


<div style="float:right;max-width:320px">
<img src="{@docRoot}preview/images/quicksettings.png" style="padding-left:1.5em;">

<p class="img-caption" style="padding-left:2em;">
  <strong>Figura 5:</strong> Mosaicos de Quick Settings del panel de notificaciones.
</p>


  </div><p>Quick Settings es una manera popular y simple de exhibir configuraciones y acciones claves
directamente desde el panel de notificaciones. En Android N, expandimos el alcance de
Quick Settings para que sea todavía más útil y práctico. </p>

<p>Agregamos más espacio para mosaicos adicionales de Quick Settings, a los cuales los usuarios pueden
acceder desde un área de visualización paginada deslizando el dedo hacia la izquierda o la derecha. También permitimos
que los usuarios determinen los mosaicos de Quick Settings que aparecerán y los puntos en los cuales
se mostrarán; pueden agregar o mover mosaicos con solo arrastrarlos y soltarlos. </p>

<p>Para los desarrolladores, en Android N también se agrega una nueva API que les permite definir mosaicos de
  Quick Settings propios para facilitar, dentro de sus aplicaciones, el acceso a controles y acciones claves por parte de los usuarios.</p>

<p>
  Los mosaicos de Quick Settings se reservan para controles o acciones que se necesiten
  con urgencia o se usen con frecuencia; no deben emplearse como accesos directos para
  iniciar una aplicación.
</p>

<p>
  Una vez que hayas definido tus mosaicos, puedes dejarlos a disposición de los usuarios, quienes tendrán la posibilidad de agregarlos
  a Quick Settings con solo arrastrarlos y soltarlos.
</p>

<p>
  Para obtener información sobre la creación de un mosaico de aplicación, consulta la documentación de
  <code>android.service.quicksettings.Tile</code> en la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">referencia de la API</a> descargable.
</p>



<h2 id="number-blocking">Bloqueo de números</h2>

<p>Android N ahora admite el bloqueo de números en la plataforma y proporciona una API
de framework para que los proveedores de servicios dispongan de una lista con números bloqueados. La
aplicación de SMS predeterminada, la aplicación telefónica predeterminada y las aplicaciones de proveedores tienen capacidad de lectura y
escritura en la lista de números bloqueados. Otras aplicaciones no pueden acceder a la lista.</p>

<p>Al hacer que el bloqueo de números sea una función estándar de la plataforma, Android permite que las
aplicaciones admitan de manera uniforme el bloqueo de números en una amplia variedad de
dispositivos. Entre los demás beneficios que pueden aprovechar las aplicaciones, se encuentran los siguientes:</p>

<ul>
  <li> Los números bloqueados en las llamadas también se bloquean en los mensajes de texto.
  <li> Los números bloqueados pueden perdurar tras procesos de restablecimiento y cambios de dispositivos con la función Backup &amp;
Restore.
  <li> Varias aplicaciones pueden usar la misma lista de números bloqueados.
</ul>

<p>De manera adicional, la integración de aplicaciones de proveedores a través de Android permite que estos
lean la lista de números bloqueados del dispositivo y realicen un bloqueo de servicio
para el usuario, a fin de evitar que el usuario reciba llamadas o mensajes de texto no deseados
por cualquier medio, como terminales VOIP o teléfonos con transferencia de llamadas.</p>

<p>
  Para obtener más información, consulta <code>android.provider.BlockedNumberContract</code>
  en la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">referencia de la API
  </a>descargable.
</p>

<h2 id="call_screening">Filtración de llamadas</h2>

<p>
  Android N permite que la aplicación predeterminada de un teléfono filtre las llamadas entrantes. La aplicación
  hace esto a través del nuevo <code>CallScreeningService</code>,
  que le permite realizar varias acciones según la clase
  {@link android.telecom.Call.Details Call.Details} de la llamada entrante. Algunos ejemplos:
</p>

<ul>
  <li> rechazar la llamada entrante;
  <li> no permitir el ingreso de la llamada en el registro de llamadas;
  <li> no mostrar al usuario una notificación de la llamada.
</ul>

<p>
  Para obtener más información, consulta <code>android.telecom.CallScreeningService</code>
  en la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">referencia de la API
  </a>descargable.
</p>


<h2 id="multi-locale_languages">Compatibilidad con varias configuraciones regionales y más idiomas</h2>


<p>Android N permite a los usuarios seleccionar <strong>varias configuraciones regionales</strong> en Settings,
para brindar una mejor compatibilidad con casos de uso de dos idiomas. Las aplicaciones pueden usar
una nueva API para obtener las configuraciones regionales seleccionadas del usuario y luego ofrecer experiencias más sofisticadas
para usuarios que usen varias configuraciones regionales; por ejemplo, pueden mostrar resultados de búsqueda en
varios idiomas y no ofrecer traducciones de páginas web con idiomas que el
usuario conozca.</p>

<p>Además de la compatibilidad con varias configuraciones regionales, en Android N también se amplía la variedad de idiomas
disponibles para los usuarios. Se ofrecen más de 25 variantes, cada una de ellas para idiomas de uso
común, como el inglés, el español, el francés y el árabe. También se agrega compatibilidad
parcial con más de 100 idiomas nuevos.</p>

<p>Las aplicaciones pueden obtener la lista de configuraciones regionales establecida por el usuario llamando a
<code>LocaleList.GetDefault()</code>.  A fin de admitir la cantidad ampliada de configuraciones regionales, en Android N, se
modificará la forma de resolver recursos. Asegúrate de controlar que tus aplicaciones
funcionen de la manera esperada con la nueva lógica de resolución de recursos.</p>

<p>Para obtener información sobre el nuevo comportamiento de resolución de recursos y las prácticas recomendadas que
debes aplicar, consulta <a href="{@docRoot}preview/features/multilingual-support.html">Compatibilidad con varios idiomas</a>.</p>


<h2 id="emoji">Nuevos emojis</h2>

<p>
  Android N presenta más emojis y funciones relacionadas con estos, como
  emojis con diferentes tonos de piel y compatibilidad con selectores de
  variación. Si tu aplicación admite emojis,
  sigue las pautas a continuación para aprovechar estas funciones relacionadas con emojis.
</p>

<ul>
  <li>
    <strong>Comprueba que el dispositivo contenga el emoji antes de insertarlo.</strong>
    Para corroborar qué emojis tiene la fuente del
    sistema, usa el método {@link android.graphics.Paint#hasGlyph(String)}.
  </li>
  <li>
    <strong>Comprueba que el emoji admita los selectores de variación.</strong>
    Los selectores de variación te permiten
    presentar determinados emojis en color o en blanco y negro.
    En los dispositivos móviles, las aplicaciones deben representar los emojis en color, en lugar de hacerlo en blanco y negro. Sin embargo,
    si tu aplicación muestra los emojis alineados con el texto, debe usar la variación de blanco y negro.
    A fin de determinar si un emoji tiene una variación, usa el selector de variación.
    Para conocer la lista completa de caracteres con variaciones, consulta la sección de
    <em>secuencias de variación de emojis</em> de la
    <a class="external-link" href="http://www.unicode.org/Public/9.0.0/ucd/StandardizedVariants-9.0.0d1.txt">
      documentación de Unicode sobre variaciones</a>.
  </li>
  <li>
    <strong>Comprueba que el emoji admita tonos de piel.</strong> Android N permite que los usuarios modifiquen el
    tono de piel presentado de los emojis según su preferencia. Las aplicaciones de teclado deben brindar indicaciones
    visuales para los emojis que tienen múltiples tonos de piel y permitir que los usuarios
    seleccionen el tono que prefieran. Para determinar qué emojis del sistema tienen
    modificadores del tono de piel, usa el método {@link android.graphics.Paint#hasGlyph(String)}.
 Puedes determinar qué emojis usan tonos de piel leyendo la
    <a class="external-link" href="http://unicode.org/emoji/charts/full-emoji-list.html">
     documentación de Unicode</a>.
  </li>
</ul>


<h2 id="icu4">API de ICU4J en Android</h2>

<p>
  Android N ahora ofrece un subconjunto de las API de <a href="http://site.icu-project.org/">ICU4J</a> dentro del framework de Android, en
  el paquete <code>android.icu</code>. La migración es sencilla y en mayor medida implica
  simplemente un cambio del espacio de nombres <code>com.java.icu</code> a
  <code>android.icu</code>. Si ya usas el paquete ICU4J en tus
  aplicaciones, el cambio a las API <code>android.icu</code> en el framework de Android
  puede reducir notablemente el tamaño del APK.
</p>

<p>
  Para obtener más información sobre las API de ICU4J de Android, consulta <a href="{@docRoot}preview/features/icu4j-framework.html">Compatibilidad con ICU4J</a>.
</p>



<h2 id="gles_32">API&trade; de OpenGL ES 3.2</h2>

<p>En Android N se agregan interfaces de framework y compatibilidad con plataformas para OpenGL ES 3.2, entre las que se incluye lo siguiente:</p>

<ul>
  <li> todas las extensiones del <a class="external-link" href="https://www.khronos.org/registry/gles/extensions/ANDROID/ANDROID_extension_pack_es31a.txt">
paquete de extensiones de Android</a></a> (AEP), a excepción de <code>EXT_texture_sRGB_decode</code>;
  <li> búferes de fotogramas de punto flotante para HDR y sombreado aplazado;
  <li> llamadas a draw a través de BaseVertex para mejorar el procesamiento por lotes y la transmisión;
  <li> sólido control de acceso a búfer para reducir la sobrecarga de WebGL.
</ul>

<p>En Android N, la API de framework para OpenGL ES 3.2 se proporciona con la clase
<code>GLES32</code>. Al usar OpenGL ES 3.2, asegúrate de declarar el
requisito en tu archivo de manifiesto, con la etiqueta <code>&lt;uses-feature&gt;</code> y el
atributo <code>android:glEsVersion</code>. </p>

<p>Para obtener información sobre el uso de OpenGL ES, incluida la manera de comprobar la
versión de OpenGL ES que admite el dispositivo durante el tiempo de ejecución, consulta la<a href="{@docRoot}guide/topics/graphics/opengl.html"> guía de la API OpenGL ES</a>.</p>


<h2 id="android_tv_recording">Grabación de Android TV</h2>

<p>En Android N, se agrega la capacidad de grabar y reproducir contenido de servicios
de entrada de Android TV a través de las nuevas API de grabación.  Aprovechando las mejoras existentes de las API time shifting
, los servicios de entrada de TV pueden controlar los datos de canales que pueden grabarse y la manera
en que se guardan las sesiones grabadas, y administrar la interacción del usuario con el contenido grabado. </p>

<p>Para obtener más información, consulta <a href="{@docRoot}preview/features/tv-recording-api.html">API de grabación de Android TV</a>.</p>


<h2 id="android_for_work">Android for Work</h2>

<p>Android for Work suma muchas funciones y API nuevas para dispositivos con Android N.
A continuación, se muestran algunos aspectos destacados. Para ver la lista completa de cambios, consulta
<a href="{@docRoot}preview/features/afw.html">Actualizaciones de Android for Work</a>.</p>

<h3 id="work_profile_security_challenge">Comprobación de seguridad para perfiles de trabajo </h3>

<p>
  Los propietarios de perfiles orientados al SDK de Android N
  pueden especificar una comprobación de seguridad independiente para las aplicaciones que se ejecutan en
  el perfil de trabajo. La comprobación para perfiles de trabajo se muestra cuando un usuario intenta abrir
  aplicaciones de trabajo. Cuando la comprobación de seguridad es exitosa, se desbloquea el
  perfil de trabajo y se descifra si es necesario. Para quienes posean perfiles,
  <code>ACTION_SET_NEW_PASSWORD</code> solicita al usuario establecer una comprobación de
  trabajo y <code>ACTION_SET_NEW_PARENT_PROFILE_PASSWORD</code> le solicita
  establecer un bloqueo de dispositivo.
</p>

<p>
  Quienes posean perfiles pueden establecer políticas de contraseñas diferentes para la comprobación de seguridad de trabajo
  (por ejemplo, la extensión que debe tener el PIN o la posibilidad de usar una huella digital
  para desbloquear el perfil) usando <code>setPasswordQuality()</code>,
  <code>setPasswordMinimumLength()</code> y métodos relacionados. También
  pueden establecer el bloqueo del dispositivo usando la instancia de <code>DevicePolicyManager</code>
  devuelta por el nuevo método <code>getParentProfileInstance()</code>.
  Además, tienen la posibilidad de personalizar la pantalla de credenciales de la
  comprobación de trabajo usando los nuevos métodos <code>setOrganizationColor()</code> y
  <code>setOrganizationName()</code>.
</p>
<h3 id="turn_off_work">Desactivación del modo de trabajo </h3>

<p>En dispositivos con perfil de trabajo, los usuarios pueden alternar el modo de trabajo. Cuando este último está
inactivo, el usuario administrado queda deshabilitado temporalmente, con lo cual se desactivan las aplicaciones de perfiles
de trabajo, la sincronización en segundo plano y las notificaciones. Esto incluye la aplicación del propietario del
perfil. Cuando el modo de trabajo está inactivo, en el sistema se muestra un ícono
de estado persistente para recordar al usuario que no puede iniciar aplicaciones de trabajo. El launcher
indica que no es posible acceder a aplicaciones ni widgets de trabajo. </p>

<h3 id="always_on_vpn">Always on VPN </h3>

<p>Los propietarios de dispositivos y perfiles pueden asegurarse de que las aplicaciones de trabajo siempre se conecten
a través de una VPN especificada. El sistema inicia dicha VPN en forma automática después del
inicio del dispositivo.</p>

<p>
  Los nuevos métodos de <code>DevicePolicyManager</code> son
  <code>setAlwaysOnVpnPackage()</code> y
  <code>getAlwaysOnVpnPackage()</code>.
</p>

<p>Debido a que los servicios de VPN pueden enlazarse directamente a través del sistema sin interacción con
aplicaciones, los clientes de VPN deben administrar nuevos puntos de entrada para Always on VPN. Al igual que
antes, los servicios se indican al sistema con una
clase <code>android.net.VpnService</code> de acción de coincidencia de filtro de intents. </p>

<p>
  Los usuarios también pueden establecer clientes Always on VPN que implementen métodos
  <code>VPNService</code> en el usuario principal con
  <strong>Settings &gt; More &gt; Vpn</strong>.
</p>

<h3 id="custom_provisioning">Aprovisionamiento personalizado</h3>

<p>
  En una aplicación, se pueden personalizar los flujos de aprovisionamiento
 del propietario del perfil y del dispositivo con logos y colores corporativos.
  <code>DevicePolicyManager.EXTRA_PROVISIONING_MAIN_COLOR</code> personaliza el
  color del flujo. <code>DevicePolicyManager.EXTRA_PROVISIONING_LOGO_URI</code>
  personaliza el flujo con un logotipo corporativo.
</p>

<h2 id="accessibility_enhancements">Mejoras de accesibilidad</h2>

<p>Android N ahora ofrece Vision Settings directamente en la pantalla de bienvenida para la configuración de
dispositivos nuevos. Esto permite a los usuarios descubrir y configurar de manera mucho más sencilla
funciones de accesibilidad en sus dispositivos, como el gesto de ampliación, el tamaño
de fuente, el tamaño de pantalla y TalkBack. </p>

<p>Al tener estas funciones de accesibilidad una disposición más prominente, es más probable
que tus usuarios prueben tu aplicación con ellas habilitadas. Asegúrate de probar tus aplicaciones
anticipadamente con esta configuración habilitada. Puedes habilitarla en Settings &gt;
Accessibility.</p>

<p>Además, los servicios de accesibilidad de Android N ahora pueden asistir a los usuarios con discapacidades
motrices con el uso de la pantalla. La nueva API permite crear servicios con
funciones como el seguimiento de rostros u ojos y la exploración por puntos, entre otros, para satisfacer
las necesidades de estos usuarios.</p>

<p>Para obtener más información, consulta <code>android.accessibilityservice.GestureDescription</code>
  en la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">referencia de la API</a> descargable.</p>


<h2 id="direct_boot">Inicio directo</h2>

<p>El inicio directo optimiza los tiempos de inicio del dispositivo y permite una funcionalidad
limitada de las aplicaciones aun después de un reinicio inesperado.
Por ejemplo, si un dispositivo encriptado se reinicia mientras el usuario duerme,
este último puede continuar recibiendo en forma normal notificaciones de alarmas, llamadas entrantes y mensajes
registrados. Esto también significa que los servicios de accesibilidad también pueden estar
  disponibles de inmediato después de un reinicio.</p>

<p>El inicio directo aprovecha la encriptación basada en archivos de Android N,
a fin de habilitar políticas de encriptación específicas para datos del sistema y de aplicaciones.
El sistema usa un encriptado por el dispositivo para datos de sistema seleccionados y datos de aplicaciones
explícitamente registrados. De forma predeterminada, se usa un depósito encriptado con credenciales para los
  datos de sistema, los datos de usuario, las aplicaciones y los datos de aplicaciones restantes. </p>

<p>Durante el inicio, el sistema se carga en un modo restringido con acceso únicamente
a datos encriptados por el dispositivo y sin acceso general a aplicaciones o datos.
Si hay componentes que deseas ejecutar en este modo, puedes registrarlos
configurando un marcador en el manifiesto. Después del reinicio, el sistema activa
componentes registrados transmitiendo la intent <code>LOCKED_BOOT_COMPLETED</code>
. El sistema garantiza que estén disponibles los datos de aplicaciones encriptados por el dispositivo
antes de la desactivación del bloqueo. No es posible acceder a los demás datos hasta que el usuario confirme sus credenciales de pantalla de
  bloqueo para descifrarlos. </p>

Para obtener más información, consulta <a href="{@docRoot}preview/features/direct-boot.html">Inicio directo</a>.</p>
</p>


<h2 id="key_attestation">Atestación de claves</h2>

<p>Los depósitos de claves guardados en hardware proporcionan un método mucho más seguro para crear, almacenar
y usar claves criptográficas en dispositivos Android. Protegen las claves contra funciones del kernel de
Linux, vulnerabilidades potenciales de Android y extracciones
de dispositivos con derechos de administrador.</p>

<p>Para hacer más sencillo y seguro el uso de depósitos de claves guardados en hardware,
en Android N, se presenta la atestación de claves. En las aplicaciones y en los servicios que no dependen de los dispositivos se puede usar la atestación
de claves para determinar fehacientemente el almacenamiento de un par de claves RSA o EC se
en hardware, las propiedades de dicho par y las
  limitaciones aplicadas a su uso y validez. </p>

<p>Los servicios que no dependen de los dispositivos y las aplicaciones pueden solicitar información acerca de un par de claves
a través de un certificado de atestación X.509 que debe firmarse con una clave de atestación
válida. La clave de atestación es una clave de firma ECDSA que se
inyecta en el depósito de claves guardado en hardware en la fábrica.
Por lo tanto, un certificado de atestación firmado con una clave de atestación
válida confirma la existencia de un depósito de claves guardado en hardware y de información detallada
  sobre los pares de claves en dicho depósito de claves.</p>

<p>Para asegurarse de que el dispositivo use una imagen segura y oficial de fábrica de
Android, la atestación de claves solicita que el <a class="external-link" href="https://source.android.com/security/verifiedboot/verified-boot.html#bootloader_requirements">bootloader</a>
del dispositivo proporcione la siguiente información al <a class="external-link" href="https://source.android.com/security/trusty/index.html">entorno de ejecución
seguro (TEE)</a>:</p>

<ul>
<li>la versión del SO y el nivel de revisión instalados en el dispositivo;</li>
<li>la clave pública de <a href="https://source.android.com/security/verifiedboot/index.html" class="external-link">Verified Boot</a> y el estado de bloqueo.</li>
  </ul>

<p>Para obtener más información sobre la función de depósitos de claves guardados en hardware,
consulta la guía de<a href="https://source.android.com/security/keystore/" class="external-link"> Depósito de clave guardado en hardware</a>.</p>

<p>Además de la atestación de claves, en Android N también se presentan
  claves enlazadas a huellas digitales no revocadas en la inscripción con estas huellas.</p>

<h2 id="network_security_config">Configuración de seguridad de la red</h2>

<p>En Android N, las aplicaciones pueden personalizar el comportamiento de sus conexiones protegidas (HTTPS y TLS)
en forma segura, sin modificaciones en el código, a través de la
<em>Configuración de seguridad de la red</em> en lugar de las API
convencionales, propensas a generar errores (p. ej., X509TrustManager).</p>

  <p>Funciones admitidas:</p>
<ul>
<li><b>Anclajes de confianza personalizados.</b> Permite personalizar qué autoridades de
certificado (CA) son de confianza para las conexiones de seguridad de una aplicación. Por ejemplo,
 confiar en certificados autofirmados particulares o un conjunto restringido de CA públicas.
</li>
<li><b>Anulaciones de solo depuración.</b> Permite que el desarrollador de una aplicación depure en forma segura
conexiones protegidas de su aplicación sin riesgos adicionales para la base
instalada.
</li>
<li><b>Desactivación del tráfico de Cleartext.</b> Permite que una aplicación se proteja a sí misma contra
el uso accidental de tráfico de Cleartext.</li>
<li><b>Fijación de certificados.</b> Esta es una función avanzada que permite a una aplicación
  limitar las claves de servidores en las que se pueda confiar para conexiones protegidas.</li>
</ul>

<p>Para obtener más información, consulta <a href="{@docRoot}preview/features/security-config.html">Configuración de seguridad de
la red</a>.</p>

<h2 id="default_trusted_ca">Entidad de certificación de confianza predeterminada</h2>

<p>De manera predeterminada, en las aplicaciones orientadas a Android N solo se consideran como confiables los certificados proporcionados por el sistema
y ya no se da esta misma consideración a las entidades de certificación (CA) agregadas por usuarios. En aquellas aplicaciones orientadas a Android
N para las cuales se desee considerar tales CA como válidas, se debe usar la
<a href="{@docRoot}preview/features/security-config.html">Configuración de seguridad de la red</a> a fin de
especificar los términos de confianza de dichas CA.</p>

<h2 id="apk_signature_v2">Esquema de firma de APK v2</h2>

<p>
  Android N presenta el esquema de firma de APK v2, un nuevo esquema de firma de aplicaciones que
  ofrece instalación más rápida de las aplicaciones y mayor protección contra alteraciones
  no autorizadas de archivos APK. De forma predeterminada, Android Studio 2.2 y el complemento de Android
  para Gradle 2.2 firman tu aplicación con el esquema de firma de APK v2 y
  el esquema de firma tradicional, que utiliza la firma JAR.
</p>

<p>
  Aunque recomendamos que implementes el esquema de firma de APK v2 en tu aplicación, este esquema
  nuevo no es obligatorio. Si la aplicación no se compila correctamente con el
  esquema de firma de APK v2, puedes deshabilitar este esquema nuevo. Si se deshabilita el proceso,
  Android Studio 2.2 y el complemento de Android  para Gradle 2.2 firman tu
  aplicación con el esquema de firma tradicional solamente. Para firmar solo con el
  esquema tradicional, abre el archivo <code>build.gradle</code> del nivel del módulo, a continuación,
  agrega la línea <code>v2SigningEnabled false</code> a la configuración de firma
  de la versión:
</p>

<pre>
  android {
    ...
    defaultConfig { ... }
    signingConfigs {
      release {
        storeFile file("myreleasekey.keystore")
        storePassword "password"
        keyAlias "MyReleaseKey"
        keyPassword "password"
        <strong>v2SigningEnabled false</strong>
      }
    }
  }
</pre>

<p class="caution"><strong>Advertencia: </strong> Si firmas la aplicación con el
  esquema de firma de APK v2 y luego la modificas, se invalida
  la firma de la aplicación. Por este motivo, usa herramientas como <code>zipalign</code>
 antes de firmar la aplicación con el esquema de firma de APK v2, y no después.
</p>

<p>
  Para obtener más información, lee los documentos de Android Studio que describen cómo
  <a href="{@docRoot}studio/publish/app-signing.html#release-mode">
  firmar una aplicación</a> en Android Studio y cómo<a href="{@docRoot}studio/build/build-variants.html#signing"> configurar
  el archivo de compilación para firmar aplicaciones</a> con el complemento de Android para Gradle.
</p>

<h2 id="scoped_directory_access">Acceso a directorios determinados</h2>

<p>En Android N, las aplicaciones pueden usar nuevas API para solicitar acceso a directorios de <a href="{@docRoot}guide/topics/data/data-storage.html#filesExternal">almacenamiento
externo</a> específicos, incluidos los directorios de medios extraíbles, como las tarjetas
SD. Las nuevas API simplifican enormemente la manera en que tu aplicación accede a directorios
de almacenamiento externo estándares, como <code>Pictures</code>. Las aplicaciones
de fotografía, por ejemplo, pueden usar estas API en lugar de
<code>READ_EXTERNAL_STORAGE</code>, que otorga acceso a todos los directorios
de almacenamiento, o del framework de acceso a almacenamiento, con el cual el usuario debe navegar hasta
el directorio.</p>

<p>A su vez, las nuevas API simplifican los pasos que un usuario debe seguir para otorgar a tu aplicación acceso a almacenamiento
externo. Cuando se usan las nuevas API, el sistema emplea una IU de
permisos simple en la que se detallan claramente los directorios a los cuales
la aplicación solicita acceso.</p>

<p>Para obtener más información, consulta la documentación
<a href="{@docRoot}preview/features/scoped-folder-access.html">Acceso
a directorios determinados</a> para desarrolladores.</p>

<h2 id="keyboard_shortcuts_helper">Ayuda en los métodos abreviados del teclado</h2>

<p>
En Android N, el usuario puede presionar "Alt + /" para activar una pantalla de <em>métodos abreviados del teclado</em>
que muestra todos los métodos abreviados disponibles, tanto para el
sistema como la aplicación que esté en primer plano. Estos se recuperan automáticamente del menú de la aplicación si
están disponibles, pero los desarrolladores pueden proporcionar sus propios métodos abreviados perfeccionados
para la pantalla. Puedes hacerlo anulando el nuevo método
<code>Activity.onProvideKeyboardShortcuts()</code>, lo que se describe en la
<a href="{@docRoot}preview/setup-sdk.html#docs-dl">referencia de la API</a> descargable.
</p>

<p>
Para activar la ayuda en los métodos abreviados del teclado desde cualquier ubicación en la aplicación,
llama a {@code Activity.requestKeyboardShortcutsHelper()} para la actividad relevante.
</p>

<h2 id="sustained_performance_api">API de rendimiento sostenido</h2>

<p>
El rendimiento puede fluctuar considerablemente en las aplicaciones de ejecución prolongada porque el
sistema limita los motores de sistemas en chip cuando los componentes del dispositivo alcanzan los
límites de temperatura. Esta fluctuación presenta un objetivo móvil para los desarrolladores
de aplicaciones que crean aplicaciones de alto rendimiento y ejecución prolongada.
</p>

<p>
Android N incluye compatibilidad opcional para un
<em>modo de rendimiento sostenido</em>, que permite que los fabricantes de equipo original (OEM) arrojen datos sobre las capacidades de rendimiento del dispositivo
para las aplicaciones de ejecución prolongada. Los desarrolladores
de aplicaciones pueden usar estos datos para perfeccionar sus aplicaciones y alcanzar un nivel
uniforme y predecible de rendimiento en el dispositivo durante períodos prolongados.
</p>

<p>
Los desarrolladores de aplicaciones solo pueden probar esta API nueva en la N Developer Preview instalada solo en dispositivos con
Nexus 6P. Para usar esta función,
establece el indicador de rendimiento sostenido de la ventana
que deseas ejecutar en el modo de rendimiento sostenido. Establece este indicador con el método
{@code Window.setSustainedPerformanceMode()}. El sistema deshabilita
automáticamente este modo cuando la ventana deja de estar en primer plano.
</p>

<h2 id="vr">Soporte de RV</h2>

<p>
Android N agrega compatibilidad y optimizaciones de plataforma para un modo de RV nuevo, con el objetivo de que los
 desarrolladores puedan forjar experiencias de RV móviles de alta calidad para los usuarios. Hay varias mejoras en el
rendimiento, entre las que se incluye el acceso a un núcleo de CPU exclusivo para aplicaciones de RV.
Dentro de tus aplicaciones, puedes aprovechar el seguimiento de cabeza inteligente
y las notificaciones en sonido estéreo que funcionan para la RV. Un dato muy importante es que Android N presenta
muy pocos gráficos de baja latencia. Para obtener información completa sobre el desarrollo de aplicaciones de RV para Android N,
consulta <a href="https://developers.google.com/vr/android/">Google VR SDK para Android</a>.
</p>


<h2 id="print_svc">Mejoras del servicio de impresión</h2>

<p>
  En Android N, los desarrolladores de servicios de impresión ahora pueden publicar información adicional
  sobre impresoras y trabajos de impresión individuales.
</p>

<p>
  Al enumerar las impresoras individuales, un servicio de impresión ahora puede establecer íconos
  por impresora de dos maneras:
</p>

<ul>
  <li>Puedes establecer un ícono desde el id. de un recurso llamando a
  <code>PrinterInfo.Builder.setResourceIconId()</code>.
  </li>

  <li>Puedes mostrar un ícono de la red llamando a
  <code>PrinterInfo.Builder.setHasCustomPrinterIcon()</code> y configurando un
  callback para cuando se solicite el ícono con
  <code>android.printservice.PrinterDiscoverySession.onRequestCustomPrinterIcon()</code>.
  </li>
</ul>

<p>
  Además, puedes proporcionar las actividades por impresora para mostrar información
  adicional llamando a <code>PrinterInfo.Builder.setInfoIntent()</code>.
</p>

<p>
  Puedes indicar el progreso y el estado de los trabajos de impresión en la notificación de
  trabajo de impresión llamando a
  <code>android.printservice.PrintJob.setProgress()</code> y
  <code>android.printservice.PrintJob.setStatus()</code>, respectivamente.
</p>

<p>
  Para obtener más información sobre estos métodos, consulta la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">referencia de la API</a> descargable.
</p>

<h2 id="framemetrics_api">API FrameMetricsListener</h2>

<p>
La API FrameMetricsListener permite que una aplicación monitoree el rendimiento de la representación
de la IU. La API brinda esta capacidad mediante la exposición de una transmisión de API Pub/Sub para transferir información sobre el tiempo
de los cuadros para la ventana actual de la aplicación. Los datos devueltos son
equivalentes a lo que muestra <code><a href="{@docRoot}tools/help/shell.html#shellcommands">adb shell</a>
dumpsys gfxinfo framestats</code>, pero no se limita a los últimos 120 cuadros.
</p>

<p>
Puedes usar FrameMetricsListener para medir el rendimiento de
la IU del nivel de interacción en producción sin contar con una conexión USB. Esta API
permite recopilar datos con una especificidad mayor que
{@code adb shell dumpsys gfxinfo}. Esta especificidad mayor es posible porque
el sistema puede recopilar datos para interacciones determinadas en la aplicación, sin que sea
necesario que el sistema obtenga un resumen global del
rendimiento de toda la aplicación o borre un estado global. Puedes usar esta
capacidad con el objetivo de recopilar datos de rendimiento e identificar regresiones en el rendimiento de la IU
para casos de uso reales dentro de una aplicación.
</p>

<p>
Para monitorear una ventana, implementa el callback <code>FrameMetricsListener.onMetricsAvailable()</code>
y regístralo en esa ventana. Para obtener más información, consulta
la documentación de la clase {@code FrameMetricsListener}
en la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">referencia de la API</a> descargable.
</p>

<p>
La API proporciona un objeto {@code FrameMetrics}, que contiene datos de intervalos que
el subsistema de representación informa sobre varios hitos en el ciclo de vida de un marco.
Las métricas compatibles son {@code UNKNOWN_DELAY_DURATION},
{@code INPUT_HANDLING_DURATION}, {@code ANIMATION_DURATION},
{@code LAYOUT_MEASURE_DURATION}, {@code DRAW_DURATION}, {@code SYNC_DURATION},
{@code COMMAND_ISSUE_DURATION}, {@code SWAP_BUFFERS_DURATION},
{@code TOTAL_DURATION} y {@code FIRST_DRAW_FRAME}.
</p>


<h2 id="virtual_files">Archivos virtuales</h2>

<p>
  En versiones anteriores de Android, tu aplicación podía usar el framework
  de acceso al almacenamiento para permitir a los usuarios seleccionar archivos de cuentas de almacenamiento en la nube,
  como Google Drive. Sin embargo, no se podían representar los archivos que no
  tenían una representación directa en código de bits; cada archivo debía brindar
  un flujo de entrada.
</p>

<p>
  Android N incorpora el concepto de <em>archivos virtuales</em> al framework
  de acceso al almacenamiento. La función de archivos virtuales permite que tu
  {@link android.provider.DocumentsProvider} devuelva URI de documentos que se pueden
  usar en una intent {@link android.content.Intent#ACTION_VIEW} incluso si
  no tienen una representación directa en código de bits. Android N también te permite
  ofrecer formatos alternativos para archivos del usuario, virtuales u otros.
</p>

<p>
  Para obtener un URI para un documento virtual en tu aplicación, primero crea una
  {@link android.content.Intent} a fin de abrir la IU del selector de archivos. Como una aplicación
  no puede abrir directamente un archivo virtual con el método
  {@link android.content.ContentResolver#openInputStream(Uri) openInputStream()},
  la aplicación no recibe ningún archivo virtual si incluyes la categoría
  {@link android.content.Intent#CATEGORY_OPENABLE}.
</p>

<p>
  Cuando el usuario realiza una selección, el sistema llama al método
  {@link android.app.Activity#onActivityResult onActivityResult()}.
  La aplicación puede recuperar el URI del archivo virtual y obtener un flujo de entrada, como
  se demuestra en el fragmento de código a continuación.
</p>

<pre>
  // Other Activity code ...

  final static private int REQUEST_CODE = 64;

  // We listen to the OnActivityResult event to respond to the user's selection.
  &#64;Override
  public void onActivityResult(int requestCode, int resultCode,
    Intent resultData) {
      try {
        if (requestCode == REQUEST_CODE &amp;&amp;
            resultCode == Activity.RESULT_OK) {

            Uri uri = null;

            if (resultData != null) {
                uri = resultData.getData();

                ContentResolver resolver = getContentResolver();

                // Before attempting to coerce a file into a MIME type,
                // check to see what alternative MIME types are available to
                // coerce this file into.
                String[] streamTypes =
                  resolver.getStreamTypes(uri, "*/*");

                AssetFileDescriptor descriptor =
                    resolver.openTypedAssetFileDescriptor(
                        uri,
                        streamTypes[0],
                        null);

                // Retrieve a stream to the virtual file.
                InputStream inputStream = descriptor.createInputStream();
            }
        }
      } catch (Exception ex) {
        Log.e("EXCEPTION", "ERROR: ", ex);
      }
  }
</pre>

<p>
  Para obtener más información sobre el acceso a archivos del usuario, consulta la
  <a href="{@docRoot}guide/topics/providers/document-provider.html">guía
  Frameworks de acceso a almacenamiento</a>.
</p>
