| page.title=Compatibilidad con ventanas múltiples |
| page.metaDescription=Nueva compatibilidad en Android N para mostrar más de una aplicación a la vez. |
| page.keywords="multi-window", "android N", "split screen", "free-form" |
| |
| @jd:body |
| |
| <div id="qv-wrapper"> |
| <div id="qv"> |
| <h2>En este documento</h2> |
| <ol> |
| <li><a href="#overview">Información general</a></li> |
| <li><a href="#lifecycle">Ciclo de vida en modo de ventanas múltiples</a></li> |
| <li><a href="#configuring">Configuración de tu aplicación para el modo de |
| ventanas múltiples</a></li> |
| <li><a href="#running">Ejecución de tu aplicación en modo de ventanas múltiples</a></li> |
| <li><a href="#testing">Prueba de la compatibilidad de tu aplicación con el uso de ventanas múltiples</a></li> |
| </ol> |
| <h2>Consulta también</h2> |
| <ol> |
| <li><a class="external-link" href="https://github.com/googlesamples/android-MultiWindowPlayground">Aplicación de ejemplo para la |
| prueba de ventanas múltiples</a></li> |
| <li><a class="external-link" href="https://medium.com/google-developers/5-tips-for-preparing-for-multi-window-in-android-n-7bed803dda64">Cinco tips para prepararse para ventanas múltiples en Android N</a></li> |
| </ol> |
| </div> |
| </div> |
| |
| <p> |
| Android N agrega compatibilidad con la visualización de más de una aplicación |
| a la vez. En dispositivos portátiles, se pueden ejecutar dos aplicaciones una al lado de la otra o |
| una por encima de la otra en modo de <em>pantalla dividida</em>. En dispositivos de TV, las aplicaciones pueden |
| usar el modo <em>picture-in-picture</em> para continuar la reproducción de video mientras los usuarios |
| interactúan con otra aplicación. |
| </p> |
| |
| <p> |
| Si compilas tu aplicación con el N Preview SDK, puedes configurar la manera en que tu aplicación |
| administra la visualización de ventanas múltiples. Por ejemplo, puedes especificar las dimensiones |
| mínimas permitidas de tu actividad. También puedes inhabilitar la visualización de ventanas múltiples para |
| tu aplicación asegurándote de que el sistema solo muestre tu aplicación en modo de |
| pantalla completa. |
| </p> |
| |
| <h2 id="overview">Información general</h2> |
| |
| <p> |
| Android N permite que varias aplicaciones compartan la pantalla al mismo tiempo. Por |
| ejemplo, un usuario podría dividir la pantalla y ver una página web a la izquierda |
| mientras escribe un correo electrónico a la derecha. La experiencia de usuario depende |
| del dispositivo: |
| </p> |
| |
| <ul> |
| <li>Los dispositivos portátiles con Android N ofrecen modo de |
| pantalla dividida. En este modo, el sistema ocupa la pantalla con dos aplicaciones y las muestra |
| una al lado de la otra o una encima de la otra. El usuario puede arrastrar la línea que divide |
| las dos aplicaciones para visualizar una más grande que la otra. |
| </li> |
| |
| <li>En dispositivos Nexus Player con Android N, las aplicaciones pueden ubicarse automáticamente |
| en <a href="picture-in-picture.html">modo Picture-in-picture</a>, lo que les permite |
| continuar mostrando contenido mientras el usuario explora o interactúa con |
| otras aplicaciones. |
| </li> |
| |
| <li>Los fabricantes de dispositivos más grandes pueden optar por habilitar el modo |
| de forma libre, en el que el usuario puede modificar libremente el tamaño de cada actividad. Si el |
| fabricante habilita está función, el dispositivo ofrecerá modo de forma libre además |
| del modo de pantalla dividida. |
| </li> |
| </ul> |
| |
| <img src="{@docRoot}preview/images/mw-splitscreen.png" alt="" width="650" srcset="{@docRoot}preview/images/mw-splitscreen.png 1x, |
| {@docRoot}preview/images/mw-splitscreen_2x.png 2x," id="img-split-screen" /> |
| <p class="img-caption"> |
| <strong>Figura 1:</strong> Dos aplicaciones ejecutándose una al lado de la otra en modo de pantalla dividida. |
| </p> |
| |
| <p> |
| El usuario puede cambiar a modo de ventanas múltiples de la siguiente manera: |
| </p> |
| |
| <ul> |
| <li>Si el usuario abre la <a href="{@docRoot}guide/components/recents.html">pantalla |
| Overview</a> y presiona durante un momento el |
| título de una actividad, puede arrastrar esa actividad a una parte resaltada de la |
| pantalla para llevarla a modo de ventanas múltiples. |
| </li> |
| |
| <li>Si el usuario presiona durante un momento el botón Overview, el dispositivo coloca |
| la actividad actual en modo de ventanas múltiples y abre la pantalla Overview para |
| permitirle al usuario seleccionar otra actividad para compartir la pantalla. |
| </li> |
| </ul> |
| |
| <p> |
| Los usuarios pueden <a href="{@docRoot}guide/topics/ui/drag-drop.html">arrastrar y |
| soltar</a> datos de una actividad a otra mientras las actividades comparten |
| la pantalla. (Antes, los usuarios solo podían arrastrar y soltar datos dentro de una sola |
| actividad). |
| </p> |
| |
| <h2 id="lifecycle">Ciclo de vida en modo de ventanas múltiples</h2> |
| |
| <p> |
| El modo de ventanas múltiples no cambia el <a href="{@docRoot}training/basics/activity-lifecycle/index.html">ciclo de vida |
| de la actividad</a>. |
| </p> |
| |
| <p> |
| En modo de ventanas múltiples, solo la actividad con la que el usuario interactuó más recientemente |
| está activa en un momento determinado. Esa actividad se considera la <em>principal</em>. |
| Todas las demás actividades están pausadas, aunque estén visibles. |
| No obstante, el sistema les da a esas actividades pausadas pero visibles una prioridad más alta |
| que las actividades que no están visibles. Si el usuario interactúa con una de las |
| actividades pausadas, se reanuda esa actividad y se pausa la actividad que antes |
| era la principal. |
| </p> |
| |
| <p class="note"> |
| <strong>Nota:</strong> En modo de ventanas múltiples, una aplicación puede estar pausada |
| y aún visible para el usuario. Es posible que una aplicación necesite continuar sus |
| actividades mientras está pausada. Por ejemplo, una aplicación de reproducción de video que está |
| pausada pero visible debería continuar mostrando el video. Por ese |
| motivo, recomendamos que las actividades que reproducen video <em>no</em> pausen el |
| video en sus controladores{@link android.app.Activity#onPause onPause()}. |
| En su lugar, deben pausar el video en {@link android.app.Activity#onStop |
| onStop()} y reanudar la reproducción en {@link android.app.Activity#onStart |
| onStart()}. |
| </p> |
| |
| <p> |
| Cuando el usuario coloca una aplicación en modo de ventanas múltiples, el sistema le notifica a la |
| actividad de un cambio de configuración, tal como se especifica en <a href="{@docRoot}guide/topics/resources/runtime-changes.html">Control de cambios en |
| tiempo de ejecución</a>. Esto también sucede cuando el usuario modifica el tamaño de la aplicación o coloca la aplicación |
| nuevamente en el modo de pantalla completa. |
| Básicamente, este cambio tiene las mismas consecuencias en el ciclo de vida |
| de la actividad que cuando el sistema notifica a la aplicación que el dispositivo cambió de |
| modo vertical a modo de paisaje, excepto porque se modifican las dimensiones del dispositivo |
| en lugar de intercambiarse solamente. Como se aborda en <a href="{@docRoot}guide/topics/resources/runtime-changes.html">Control de cambios en |
| tiempo de ejecución</a>, tu actividad puede administrar el cambio de configuración por sí misma, o |
| puede permitir que el sistema destruya la actividad y la vuelva a crear con las nuevas |
| dimensiones. |
| </p> |
| |
| <p> |
| Si el usuario cambia el tamaño de una ventana y la agranda en cualquier dirección, el |
| sistema modifica el tamaño de la actividad para que coincida con la acción del usuario y emite <a href="{@docRoot}guide/topics/resources/runtime-changes.html">cambios en tiempo de ejecución</a> |
| según sean necesarios. Si la aplicación se retrasa en el trazado de áreas recientemente expuestas, el |
| sistema rellena esas áreas con el color especificado por el atributo {@link |
| android.R.attr#windowBackground windowBackground} o por el atributo de estilo predeterminado |
| <code>windowBackgroundFallback</code>. |
| </p> |
| |
| <h2 id="configuring">Configuración de tu aplicación para el modo de ventanas múltiples</h2> |
| |
| <p> |
| Si tu aplicación está orientada a Android N, puedes configurar cómo y |
| si quieres que las actividades de tu aplicación admitan la visualización de ventanas múltiples. Puedes establecer |
| atributos en tu manifiesto para controlar el tamaño y el diseño. |
| La configuración de atributos de una actividad raíz se aplica a todas las actividades |
| de su pila de tareas. Por ejemplo, si |
| <code>android:resizeableActivity</code> está configurado en true para la actividad raíz, se puede modificar el tamaño de todas las actividades |
| de la pila de tareas. |
| </p> |
| |
| <p class="note"> |
| <strong>Nota:</strong> Si compilas una aplicación con múltiples orientaciones con una versión del |
| SDK anterior a Android N, y el usuario usa la aplicación en |
| modo de ventanas múltiples, el sistema cambia el tamaño de la aplicación de forma forzada. El sistema presenta un |
| cuadro de diálogo en el que se advierte al usuario que la aplicación puede comportarse de forma inesperada. El sistema |
| <em>no</em> modifica el tamaño de aplicaciones con orientación fija; si |
| el usuario intenta abrir una aplicación con orientación fija en modo de ventanas múltiples, |
| la aplicación ocupará toda la pantalla. |
| </p> |
| |
| <h4 id="resizeableActivity">android:resizeableActivity</h4> |
| <p> |
| Establece este atributo en el nodo <code><activity></code> o |
| <code><application></code> de tu manifiesto para habilitar o inhabilitar la visualización |
| en modo de ventanas múltiples: |
| </p> |
| |
| <pre> |
| android:resizeableActivity=["true" | "false"] |
| </pre> |
| |
| <p> |
| Si este atributo se establece en true, la actividad puede iniciarse en |
| los modos de pantalla dividida y forma libre. Si el atributo se establece en false, la |
| actividad no admite el modo de ventanas múltiples. Si el valor es false, y el |
| usuario intenta iniciar la actividad en modo de ventanas múltiples, la actividad ocupará |
| toda la pantalla. |
| </p> |
| |
| <p> |
| Si tu aplicación está orientada a Android N, pero no especificas un valor |
| para este atributo, el valor predeterminado del atributo será true. |
| </p> |
| |
| <h4 id="supportsPictureInPicture">android:supportsPictureInPicture</h4> |
| |
| <p> |
| Establece este atributo en el nodo <code><activity></code> de tu manifiesto |
| para indicar si la actividad admite la visualización de Picture-in-picture. Este |
| atributo se ignora si <code>android:resizeableActivity</code> es false. |
| </p> |
| |
| <pre> |
| android:supportsPictureInPicture=["true" | "false"] |
| </pre> |
| |
| <h3 id="layout">Atributos de diseño</h3> |
| |
| <p> |
| Con Android N, el elemento de manifiesto <code><layout></code> |
| admite varios atributos que afectan cómo se comporta una actividad en |
| modo de ventanas múltiples: |
| </p> |
| |
| <dl> |
| <dt> |
| <code>android:defaultWidth</code> |
| </dt> |
| |
| <dd> |
| Ancho predeterminado de la actividad cuando se inicia en modo de forma libre. |
| </dd> |
| |
| <dt> |
| <code>android:defaultHeight</code> |
| </dt> |
| |
| <dd> |
| Altura predeterminada de la actividad cuando se inicia en modo de forma libre. |
| </dd> |
| |
| <dt> |
| <code>android:gravity</code> |
| </dt> |
| |
| <dd> |
| Ubicación inicial de la actividad cuando se inicia en modo de forma libre. Consulta la referencia |
| {@link android.view.Gravity} para obtener valores adecuados. |
| </dd> |
| |
| <dt> |
| <code>android:minimalHeight</code>, <code>android:minimalWidth</code> |
| </dt> |
| |
| <dd> |
| Altura y ancho mínimos para la actividad tanto en el modo de pantalla dividida como en el |
| modo de forma libre. Si el usuario mueve la línea divisoria en el modo de pantalla dividida |
| para reducir el tamaño respecto del tamaño mínimo especificado, el sistema recorta |
| la actividad para ajustarla a los requisitos del usuario. |
| </dd> |
| </dl> |
| |
| <p> |
| Por ejemplo, el siguiente código muestra cómo especificar el tamaño |
| y la ubicación predeterminados de una actividad, y su tamaño mínimo, cuando la actividad se visualiza en |
| modo de forma libre: |
| </p> |
| |
| <pre> |
| <activity android:name=".MyActivity"> |
| <layout android:defaultHeight="500dp" |
| android:defaultWidth="600dp" |
| android:gravity="top|end" |
| android:minimalHeight="450dp" |
| android:minimalWidth="300dp" /> |
| </activity> |
| </pre> |
| |
| <h2 id="running">Ejecución de tu aplicación en modo de ventanas múltiples</h2> |
| |
| <p> |
| Android N ofrece nuevas funcionalidades para admitir aplicaciones que puedan ejecutarse |
| en modo de ventanas múltiples. |
| </p> |
| |
| <h3 id="disabled-features">Funciones deshabilitadas en modo de ventanas múltiples</h3> |
| |
| <p> |
| Ciertas funciones están deshabilitadas o se ignoran cuando un dispositivo se encuentra en modo de |
| ventanas múltiples, ya que no resultan útiles para una actividad que podría estar compartiendo la |
| pantalla del dispositivo con otras actividades o aplicaciones. Esas funciones incluyen las siguientes: |
| |
| <ul> |
| <li>Algunas opciones de personalización de la <a href="{@docRoot}training/system-ui/index.html">IU del sistema</a> |
| están deshabilitadas; por ejemplo, las aplicaciones no pueden ocultar la barra de |
| estado si no se están ejecutando en modo de pantalla completa. |
| </li> |
| |
| <li>El sistema ignora los cambios en el atributo <code><a href= |
| "{@docRoot}guide/topics/manifest/activity-element.html#screen" |
| >android:screenOrientation</a></code>. |
| </li> |
| </ul> |
| |
| <h3 id="change-notification">Notificación y consulta de cambios en modo de ventanas múltiples</h3> |
| |
| <p> |
| Se agregaron los siguientes métodos nuevos a la clase {@link android.app.Activity} |
| para admitir la visualización de ventanas múltiples. Para obtener información detallada sobre cada método, consulta la |
| <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referencia sobre N Preview SDK |
| </a>. |
| </p> |
| |
| <dl> |
| <dt> |
| <code>Activity.isInMultiWindowMode()</code> |
| </dt> |
| |
| <dd> |
| Realiza una llamada para averiguar si la actividad está en modo de ventanas múltiples. |
| </dd> |
| |
| <dt> |
| <code>Activity.isInPictureInPictureMode()</code> |
| </dt> |
| |
| <dd> |
| Realiza una llamada para averiguar si la actividad está en modo Picture-in-picture. |
| |
| <p class="note"> |
| <strong>Nota:</strong> El modo Picture-in-picture es un caso especial del |
| modo de ventanas múltiples. Si <code>myActivity.isInPictureInPictureMode()</code> |
| devuelve un valor true, <code>myActivity.isInMultiWindowMode()</code> también |
| devuelve un valor true. |
| </p> |
| </dd> |
| |
| <dt> |
| <code>Activity.onMultiWindowModeChanged()</code> |
| </dt> |
| |
| <dd> |
| El sistema llama a este método siempre que la actividad entra en modo de ventanas |
| múltiples o sale de él. El sistema le pasa al método un valor de true si la |
| actividad entra en modo de ventanas múltiples y false si la actividad |
| sale del modo de ventanas múltiples. |
| </dd> |
| |
| <dt> |
| <code>Activity.onPictureInPictureModeChanged()</code> |
| </dt> |
| |
| <dd> |
| El sistema llama a este método siempre que la actividad entra en modo Picture-in-picture |
| o sale de él. El sistema le pasa al método un valor de true si |
| la actividad entra en modo Picture-in-picture y false si la actividad |
| sale de dicho modo. |
| </dd> |
| </dl> |
| |
| <p> |
| También hay versiones {@link android.app.Fragment} de cada uno de esos |
| métodos; por ejemplo, <code>Fragment.isInMultiWindowMode()</code>. |
| </p> |
| |
| <h3 id="entering-pip">Cómo entrar en modo Picture-in-picture</h3> |
| |
| <p> |
| Para que una actividad entre en modo de Picture-in-picture, debes llamar al nuevo método |
| <code>Activity.enterPictureInPictureMode()</code>. Este método no tiene efecto si |
| el dispositivo no admite el modo de imagen en imagen. Para obtener más información, |
| consulta la documentación de <a href="picture-in-picture.html">Picture-in-Picture</a>. |
| </p> |
| |
| <h3 id="launch">Inicia nuevas actividades en modo de ventanas múltiples</h3> |
| |
| <p> |
| Cuando inicias una nueva actividad, puedes indicarle al sistema que la nueva |
| actividad se debe mostrar adyacente a la actual, si fuera posible. Para hacer |
| esto, usa el marcador |
| <code>Intent.FLAG_ACTIVITY_LAUNCH_TO_ADJACENT</code>. Pasar |
| este marcador requiere el siguiente comportamiento: |
| </p> |
| |
| <ul> |
| <li>Si el dispositivo está en modo de pantalla dividida, el sistema intenta crear la |
| nueva actividad junto a la actividad que lo inició, de modo que las dos actividades |
| compartan la pantalla. No se garantiza que el sistema pueda hacerlo, pero |
| ubicará las actividades de forma adyacente si fuera posible. |
| </li> |
| |
| <li>Si el dispositivo no está en modo de pantalla dividida, este marcador no tendrá efecto. |
| </li> |
| </ul> |
| |
| <p> |
| Si un dispositivo está en modo de forma libre e inicias una nueva actividad, puedes |
| especificar las dimensiones y la ubicación de la pantalla de la nueva actividad al llamar a |
| <code>ActivityOptions.setLaunchBounds()</code>. Este método no tiene efecto si |
| el dispositivo no está en modo de ventanas múltiples. |
| </p> |
| |
| <p class="note"> |
| <strong>Nota:</strong> Si inicias una actividad en una pila de tareas, esa |
| actividad reemplaza la actividad en pantalla y hereda todas sus |
| propiedades de ventanas múltiples. Si quieres iniciar la nueva actividad en una ventana |
| independiente en modo de ventanas múltiples, debes iniciarla en una nueva pila de tareas. |
| </p> |
| |
| <h3 id="dnd">Admisión de la funcionalidad de arrastrar y soltar</h3> |
| |
| <p> |
| Los usuarios pueden <a href="{@docRoot}guide/topics/ui/drag-drop.html">arrastrar y |
| soltar</a> datos de una actividad a otra mientras las dos actividades |
| comparten la pantalla. (Antes, los usuarios solo podían arrastrar y soltar datos dentro de una |
| sola actividad). Por este motivo, te recomendamos que agregues la funcionalidad de arrastrar y |
| soltar a tu aplicación si es que aún no la admite. |
| </p> |
| |
| <p> |
| El N Preview SDK amplía el paquete <a href="{@docRoot}reference/android/view/package-summary.html"><code>android.view</code></a> |
| para admitir la funcionalidad de arrastrar y soltar entre aplicaciones diferentes. Para obtener información detallada sobre las siguientes |
| clase y métodos, consulta la <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referencia |
| del N Preview SDK</a>. |
| </p> |
| |
| <dl> |
| <dt> |
| <code>android.view.DropPermissions</code> |
| </dt> |
| |
| <dd> |
| Objeto token responsable de especificar los permisos otorgados a la aplicación |
| que recibe datos mediante la funcionalidad de arrastrar y soltar. |
| </dd> |
| |
| <dt> |
| <code>View.startDragAndDrop()</code> |
| </dt> |
| |
| <dd> |
| Nuevo alias para {@link android.view.View#startDrag View.startDrag()}. Para |
| habilitar la funcionalidad arrastrar y soltar entre diferentes actividades, pasa el nuevo marcador |
| <code>View.DRAG_FLAG_GLOBAL</code>. Si necesitas otorgar permisos de URI a |
| la actividad receptora, pasa los nuevos marcadores |
| <code>View.DRAG_FLAG_GLOBAL_URI_READ</code> o |
| <code>View.DRAG_FLAG_GLOBAL_URI_WRITE</code>, según corresponda. |
| </dd> |
| |
| <dt> |
| <code>View.cancelDragAndDrop()</code> |
| </dt> |
| |
| <dd> |
| Cancela una operación de arrastrar actualmente en curso. Solo puede ser llamado por la |
| aplicación que originó la operación de arrastrar. |
| </dd> |
| |
| <dt> |
| <code>View.updateDragShadow()</code> |
| </dt> |
| |
| <dd> |
| Reemplaza la sombra del arrastre por una operación de arrastrar actualmente en curso. Solo |
| puede ser llamado por la aplicación que originó la operación de arrastrar. |
| </dd> |
| |
| <dt> |
| <code>Activity.requestDropPermissions()</code> |
| </dt> |
| |
| <dd> |
| Solicita los permisos para los URI de contenido que se pasan con el {@link |
| android.content.ClipData} incluido en un {@link android.view.DragEvent}. |
| </dd> |
| </dl> |
| |
| <h2 id="testing">Prueba de la compatibilidad de tu aplicación con el uso de ventanas múltiples</h2> |
| |
| <p> |
| Ya sea que actualices o no tu aplicación para Android N, debes |
| verificar la forma en que se comporta en modo de ventanas múltiples en caso de que un usuario intente iniciarla |
| en modo de ventanas múltiples en un dispositivo con Android N. |
| </p> |
| |
| <h3 id="configuring">Configuración de un dispositivo de prueba</h3> |
| |
| <p> |
| Si instalas Android N en un dispositivo, se admite automáticamente el modo |
| de pantalla dividida. |
| </p> |
| |
| <h3 id="test-non-n">Si tu aplicación no se compiló con el N Preview SDK</h3> |
| |
| <p> |
| Si no creaste tu aplicación con el N Preview SDK y el usuario intenta usar |
| la aplicación en modo de ventanas múltiples, el sistema cambia el tamaño de la aplicación de forma forzada, a menos que la aplicación |
| declare una orientación fija. |
| </p> |
| |
| <p> |
| Si tu aplicación no declara una orientación fija, debes iniciar tu aplicación |
| en un dispositivo con Android N e intentar colocar la aplicación en |
| modo de pantalla dividida. Cuando se modifique el tamaño de la aplicación de forma forzada, |
| verifica que la experiencia de usuario sea aceptable. |
| </p> |
| |
| <p> |
| Si la aplicación declara una orientación fija, debes intentar colocar la aplicación en |
| modo de ventanas múltiples. Cuando lo hagas, verifica que la aplicación |
| continúe en modo de pantalla completa. |
| </p> |
| |
| <h3 id="test-mw">Si admites el modo de ventanas múltiples</h3> |
| |
| <p> |
| Si compilaste tu aplicación con el N Preview SDK y no deshabilitaste |
| la compatibilidad con ventanas múltiples, verifica el siguiente comportamiento tanto en modo de pantalla dividida |
| como en modo de forma libre. |
| </p> |
| |
| <ul> |
| <li>Inicia la aplicación en modo de pantalla completa y luego cambia al modo de ventanas múltiples al presionar |
| durante un momento el botón Overview. Verifica que la aplicación pase de un modo a otro correctamente. |
| </li> |
| |
| <li>Inicia la aplicación directamente en modo de ventanas múltiples y verifica que se |
| inicie correctamente. Puedes iniciar una aplicación en modo de ventanas múltiples al presionar el |
| botón Overview, luego presionar durante un momento la barra de título de la aplicación y arrastrarla |
| a una de las áreas resaltadas de la pantalla. |
| </li> |
| |
| <li>Cambia el tamaño de tu aplicación en modo de pantalla dividida al arrastrar la línea divisoria. |
| Verifica que la aplicación cambie de tamaño sin fallar y que estén visibles los elementos |
| necesarios de la IU. |
| </li> |
| |
| <li>Si especificaste dimensiones mínimas para tu aplicación, intenta cambiar el tamaño |
| de la aplicación a dimensiones más bajas que las especificadas. Verifica que no puedas modificar el tamaño de la aplicación |
| para que sea más pequeña que la dimensión mínima especificada. |
| </li> |
| |
| <li>En todas las pruebas, verifica que el rendimiento de la aplicación sea aceptable. Por |
| ejemplo, verifica que la actualización de la IU después de cambiar el tamaño de la aplicación |
| no demore mucho. |
| </li> |
| </ul> |
| |
| <h4 id="test-checklist">Lista de comprobación de pruebas</h4> |
| |
| <p> |
| Para verificar el rendimiento de tu aplicación en modo de ventanas múltiples, intenta las siguientes |
| operaciones. Debes probar estas operaciones tanto en modo de pantalla dividida como en |
| modo de ventanas múltiples, excepto cuando se indique algo diferente. |
| </p> |
| |
| <ul> |
| <li>Ingresa en modo de ventanas múltiples y luego sal. |
| </li> |
| |
| <li>Pasa de tu aplicación a otra y verifica que la aplicación se comporte |
| correctamente mientras esté visible pero no activa. Por ejemplo, si tu aplicación está |
| reproduciendo video, comprueba que el video se siga reproduciendo mientras el usuario interactúe |
| con otra aplicación. |
| </li> |
| |
| <li>En modo de pantalla dividida, prueba mover la barra divisora para agrandar y |
| achicar la aplicación. Realiza estas operaciones en las configuraciones una al lado de la otra y |
| una encima de la otra. Verifica que la aplicación no falle, |
| que las funcionalidades necesarias estén visibles y que la operación de cambio de tamaño no demore |
| mucho. |
| </li> |
| |
| <li>Realiza varias operaciones de cambio de tamaño en una sucesión rápida. Verifica que tu |
| aplicación no falle ni pierda memoria. Para obtener información acerca de cómo comprobar el uso de memoria |
| de tu aplicación, consulta <a href="{@docRoot}tools/debugging/debugging-memory.html"> |
| Averiguación del uso de RAM</a>. |
| </li> |
| |
| <li>Usa tu aplicación normalmente en diferentes configuraciones de ventanas y |
| verifica que la aplicación se comporte correctamente. Verifica que el texto sea legible y que |
| los elementos de la IU sean lo suficientemente grandes para interactuar con ellos. |
| </li> |
| </ul> |
| |
| <h3 id="test-disabled-mw">Si deshabilitaste la compatibilidad con el modo de ventanas múltiples</h3> |
| |
| <p> |
| Si deshabilitaste la compatibilidad con el modo de ventanas múltiples al configurar |
| <code>android:resizableActivity="false"</code>, debes iniciar tu aplicación en |
| un dispositivo con Android N e intentar colocar la aplicación en los |
| modos de forma libre y pantalla dividida. Cuando lo hagas, verifica que la aplicación |
| continúe en modo de pantalla completa. |
| </p> |