Multi-Window: esența, modurile de multitasking pe Android

Autor: IT Sectr Publicat: 2026-06-08 Timp de citire: 10 min

Multi-Window — este un set de moduri de multitasking în Android care permite rularea mai multor aplicații simultan pe ecran. Sistemul include trei moduri: Split Screen pentru împărțirea ecranului în două părți, Picture-in-Picture pentru video într-o fereastră miniaturală și Freeform pentru ferestre de dimensiuni arbitrare pe ecrane mari. Conform Android Developers (2025), suportul Multi-Window este obligatoriu pentru dispozitivele cu lățimea ecranului de 600 dp și mai mult, iar fiecare dezvoltator trebuie să adapteze aplicația la posibilele modificări ale dimensiunii ferestrei.

Principalele puncte

  • Multi-Window — sistemul de multitasking Android cu trei moduri: Split Screen, PiP, Freeform.
  • Split Screen — două aplicații una lângă alta, separatorul se trage, proporțiile se schimbă.
  • Picture-in-Picture — video într-o fereastră miniaturală deasupra altor aplicații.
  • Freeform — ferestre de dimensiuni arbitrare pe Android TV și ecrane mari.
  • ResizeableActivity — flag în manifest pentru declararea suportului modului multi-fereastră.

Ce este Multi-Window în Android?

Multi-Window — este o funcție Android introdusă în versiunea 7.0 Nougat (API 24), care permite rularea a două sau mai multe aplicații simultan pe ecran. Modul a devenit răspunsul Google la popularitatea în creștere a tabletelor și dispozitivelor cu ecran mare, unde modul monotask limitează productivitatea.

Înainte de Android 7.0 fiecare aplicație ocupa tot ecranul — la comutarea între aplicații, cea anterioară se minimiza. Multi-Window a schimbat acest model: acum aplicația poate ocupa o parte din ecran, rămânând activă. Pentru dezvoltator, aceasta înseamnă că onConfigurationChanged și gestionarea modificărilor de dimensiune devin obligatorii.

În Android 12L (2022) Google a făcut Multi-Window modul implicit pentru dispozitivele cu ecran mare — toate aplicațiile pe tablete se lansează în modul care permite multi-fereastră. Excepție sunt doar aplicațiile cu interdicție explicită în manifest.

Moduri Multi-Window: Split Screen, PiP, Freeform

Split Screen — cel mai răspândit mod. Ecranul se împarte în două părți orizontal sau vertical, utilizatorul trage separatorul. Disponibil pe telefoane și tablete. Se lansează prin Overview (Recents) — trăgând pictograma aplicației spre marginea de sus sau de jos.

Picture-in-Picture (PiP) — mod pentru aplicații video și de navigație. Conținutul se afișează într-o fereastră miniaturală plutitoare (aproximativ 15–25% din ecran), care poate fi mutată. Disponibil pe Android 8.0+. Pentru activare se folosește enterPictureInPictureMode() în Activity.

Freeform — mod de ferestre de dimensiuni arbitrare, similar managerilor de ferestre desktop. Disponibil pe Android TV și pe unele dispozitive cu ecran mare ale producătorilor (Samsung DeX). Aplicațiile se lansează în ferestre cu titlu și butoane de control.

Cum funcționează Multi-Window

Când utilizatorul activează Multi-Window, Android creează o nouă instanță Activity pentru fiecare aplicație și distribuie spațiul disponibil pe ecran. Activitățile sunt plasate în Task-uri separate, dar folosesc același StackView cu un separator între ele.

Sistemul notifică fiecare Activity despre modificarea dimensiunii prin onConfigurationChanged(). Dacă Activity nu gestionează acest eveniment — este recreată (recreate). Pentru Split Screen lățimea ferestrei poate scădea până la 220 dp — lățimea minimă suportată de platformă.

Android permite aplicației să declare lățimea minimă prin android:minWidth și android:minHeight în manifest. Dacă spațiul disponibil este mai mic decât valorile specificate — Activity intră în pauză.

Adaptarea Activity la modul multi-fereastră

Pentru suportul Multi-Window este necesar să setați flag-ul android:resizeableActivity="true" în manifest. Aceasta înseamnă că aplicația poate schimba dimensiunea la modificarea ferestrei. În mod implicit pe Android 12L+ toate aplicațiile sunt considerate resizeable — flag-ul este ignorat.

La modificarea dimensiunii ferestrei, Activity poate fi recreată (implicit) sau poate gestiona evenimentul în onConfigurationChanged, dacă în manifest sunt specificate configChanges="screenSize|smallestScreenSize". Se recomandă specificarea configChanges pentru Activity-urile cheie, pentru a evita pierderea stării.

xml
<activity
    android:name=".MainActivity"
    android:resizeableActivity="true"
    android:configChanges="screenSize|smallestScreenSize|orientation" />

Pentru aplicațiile care nu suportă modificarea dimensiunii, Android afișează o fereastră de dialog cu avertisment. În acest caz, la comutarea în modul multi-fereastră, sistemul poate termina Activity și poate afișa un snackbar cu propunerea de repornire.

Multi-Window și ciclul de viață al Activity

Multi-Window modifică ciclul de viață standard al Activity. Când o altă aplicație devine activă în fereastra vecină, Activity curentă primește apelul onPause(), dar nu onStop() — rămâne vizibilă, deși nu este în focalizare. Este important: playerul video trebuie să continue redarea la onPause, nu la onStop.

Dezvoltatorul trebuie să distingă stările: onPause + isInMultiWindowMode() = true înseamnă doar pierderea focalizării, nu ieșirea de pe ecran. Pentru video și animații, acesta este un semnal de a nu opri redarea, ci doar de a elimina evidențierea elementelor de control.

La ieșirea din Multi-Window onMultiWindowModeChanged() este apelat înainte de onResume(). Aceasta oferă posibilitatea de a reconstrui interfața pentru modul ecran complet înainte ca utilizatorul să înceapă interacțiunea.

Cele mai bune practici pentru Multi-Window

Prima regulă — păstrarea stării. În modul multi-fereastră Activity poate fi recreată în orice moment. Folosiți SavedStateHandle în ViewModel sau onSaveInstanceState pentru toate datele care trebuie păstrate între modificările de configurare.

A doua — testarea la lățimea minimă de 220 dp. Această valoare este considerată cea mai îngustă fereastră în Split Screen. Interfața trebuie să rămână lizibilă și funcțională. Dacă unele elemente ies din limite — utilizați Window Size Class pentru comutarea între layout-uri.

A treia — dezactivarea funcționalității care nu funcționează în Multi-Window. De exemplu, Camera poate fi indisponibilă dacă ecranul este prea mic. Verificați isInMultiWindowMode() înainte de a porni camera sau alte funcții pe ecran complet.

Întrebări frecvente

Cum să interzic Multi-Window pentru aplicația mea?

Setați android:resizeableActivity="false" în manifest. Pe Android 12L+ flag-ul este ignorat pentru dispozitivele cu ecran mare, așadar pentru interzicerea completă utilizați android:maxAspectRatio.

Cum să determin că aplicația se află în Multi-Window?

Apelați isInMultiWindowMode() din Activity. Metoda returnează true dacă aplicația rulează în Split Screen, PiP sau Freeform. De asemenea, vă puteți abona la onMultiWindowModeChanged().

Funcționează Multi-Window pe Android TV?

Pe Android TV este disponibil doar modul Picture-in-Picture. Split Screen și Freeform nu sunt suportate — televizoarele folosesc un ecran principal cu o fereastră PiP în colț.

Ce se întâmplă cu foreground-service în Multi-Window?

Foreground-service își continuă activitatea indiferent de mod. Dar dacă aplicația trece în PiP, sistemul poate întrerupe temporar execuția pentru economisirea resurselor.

Cum să gestionez drag and drop între ferestre?

Android suportă Drag and Drop între ferestre în Multi-Window prin ClipData și View.OnDragListener. Datele sunt transmise prin ContentProvider sau Intent cu FLAG_GRANT_READ_URI_PERMISSION.

Concluzii

  • Multi-Window — multitasking Android cu trei moduri pentru lucrul simultan al aplicațiilor.
  • Split Screen — împărțirea ecranului în două părți cu separator tragabil.
  • Picture-in-Picture — video într-o fereastră miniaturală pentru Android 8.0+.
  • Freeform — ferestre de dimensiuni arbitrare pe Android TV și Samsung DeX.
  • resizeableActivity — flag obligatoriu în manifest pentru suportul modului.
  • onMultiWindowModeChanged — callback pentru reconstruirea interfeței la intrare/ieșire.
  • Concluzie — Multi-Window este obligatoriu de suportat pentru toate aplicațiile pe ecrane mari începând cu 2022.

Vom dezvolta o aplicație mobilă la cheie

IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.

Discutați proiectul

Citiți și