Multi-Window: суштина, режими вишезадачности на Android-у

Аутор: IT Sectr Објављено: 2026-06-08 Време читања: 10 мин

Multi-Window — скуп режима вишезадачности у Android-у који омогућава покретање више апликација истовремено на екрану. Систем укључује три режима: Split Screen за подјелу екрана на два дијела, Picture-in-Picture за видео у мини-прозору и Freeform за прозоре произвољне величине на великим екранима. Према Android Developers (2025), подршка за Multi-Window је обавезна за уређаје са ширином екрана 600 dp и више, и сваки програмер мора прилагодити апликацију могућим промјенама величине прозора.

Главно

  • Multi-Window — систем вишезадачности Android-а са три режима: Split Screen, PiP, Freeform.
  • Split Screen — двије апликације једна поред друге, раздјељник се превлачи, пропорције се мијењају.
  • Picture-in-Picture — видео у мини-прозору изнад других апликација.
  • Freeform — прозори произвољне величине на Android TV и великим екранима.
  • ResizeableActivity — застава у манифесту за пријаву подршке режиму више прозора.

Шта је Multi-Window у Android-у?

Multi-Window — функција Android-а уведена у верзији 7.0 Nougat (API 24), која омогућава покретање двије или више апликација истовремено на екрану. Режим је постао одговор Google-а на растућу популарност таблета и уређаја са великим екраном, гдје једнорадни режим ограничава продуктивност.

Прије Android-а 7.0 свака апликација је заузимала цио екран — при преласку између апликација претходна се минимизирала. Multi-Window је промијенио овај модел: сада апликација може заузимати дио екрана, остајући активна. За програмера то значи да onConfigurationChanged и обрада промјена величине постају обавезни.

У Android-у 12L (2022) Google је учинио Multi-Window подразумијеваним режимом за уређаје са великим екраном — све апликације на таблетима се покрећу у режиму који дозвољава више прозора. Изузетак су само апликације са изричитом забраном у манифесту.

Режими Multi-Window: Split Screen, PiP, Freeform

Split Screen — најраспрострањенији режим. Екран се дијели на два дијела хоризонтално или вертикално, корисник превлачи раздјељник. Доступан на телефонима и таблетима. Покреће се преко Overview (Recents) — превлачењем иконе апликације ка горњој или доњој ивици.

Picture-in-Picture (PiP) — режим за видео и навигационе апликације. Садржај се приказује у плутајућем мини-прозору (отприлике 15–25% екрана), који се може помјерати. Доступан на Android 8.0+. За активацију се користи enterPictureInPictureMode() у Activity.

Freeform — режим прозора произвољне величине, сличан десктоп менаџерима прозора. Доступан на Android TV и неким уређајима са великим екраном произвођача (Samsung DeX). Апликације се покрећу у прозорима са насловом и дугмадима за управљање.

Како ради Multi-Window

Када корисник активира Multi-Window, Android креира нову инстанцу Activity за сваку апликацију и распоређује расположиви простор на екрану. Активности се смјештају у одвојене Task-ове, али користе исти StackView са раздјељником између њих.

Систем обавјештава сваку Activity о промјени величине кроз onConfigurationChanged(). Ако Activity не обрађује овај догађај — она се поново креира (recreate). За Split Screen ширина прозора може се смањити до 220 dp — минималне ширине коју платформа подржава.

Android омогућава апликацији да пријави минималну ширину кроз android:minWidth и android:minHeight у манифесту. Ако је расположиви простор мањи од наведених вриједности — Activity прелази у паузу.

Прилагођавање Activity режиму више прозора

За подршку Multi-Window-у потребно је поставити заставу android:resizeableActivity="true" у манифесту. То значи да апликација може мијењати величину при промјени прозора. Подразумијевано на Android 12L+ све апликације се сматрају resizeable — застава се игнорише.

При промјени величине прозора Activity се може поново креирати (подразумијевано) или обрадити догађај у onConfigurationChanged, ако су у манифесту наведене configChanges="screenSize|smallestScreenSize". Препоручује се навођење configChanges за кључне Activity, како би се избјегао губитак стања.

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

За апликације које не подржавају промјену величине, Android приказује дијалошки прозор са упозорењем. У овом случају при преласку у режим више прозора систем може завршити Activity и приказати snackbar са приједлогом да се поново покрене.

Multi-Window и животни циклус Activity

Multi-Window мијења стандардни животни циклус Activity. Када друга апликација постане активна у сусједном прозору, тренутна Activity добија позив onPause(), али не onStop() — остаје видљива, иако није у фокусу. Ово је важно: видео плејер треба да настави репродукцију на onPause, а не на onStop.

Програмер треба да разликује стања: onPause + isInMultiWindowMode() = true значи само губитак фокуса, а не одлазак са екрана. За видео и анимације ово је сигнал да не зауставља репродукцију, већ само да уклони ознаке са контролних елемената.

При изласку из Multi-Window-а onMultiWindowModeChanged() се позива прије onResume(). Ово даје могућност да се интерфејс преуреди за режим цијелог екрана прије него што корисник започне интеракцију.

Најбоље праксе за Multi-Window

Прво правило — чување стања. У режиму више прозора Activity се може поново креирати у било ком тренутку. Користите SavedStateHandle у ViewModel или onSaveInstanceState за све податке који треба да се сачувају између промјена конфигурације.

Друго — тестирање на минималној ширини од 220 dp. Ова вриједност се сматра најужим прозором у Split Screen-у. Интерфејс треба да остане читљив и функционалан. Ако неки елементи излазе из граница — користите Window Size Class за пребацивање између распореда.

Треће — искључивање функционалности која не ради у Multi-Window-у. На примјер, Camera може бити недоступна ако је екран премали. Провјеравајте isInMultiWindowMode() прије покретања камере или других функција преко цијелог екрана.

Често постављана питања

Како забранити Multi-Window за своју апликацију?

Поставите android:resizeableActivity="false" у манифесту. На Android 12L+ застава се игнорише за уређаје са великим екраном, па за потпуну забрану користите android:maxAspectRatio.

Како одредити да је апликација у Multi-Window-у?

Позовите isInMultiWindowMode() из Activity. Метод враћа true ако апликација ради у Split Screen, PiP или Freeform. Такође се можете претплатити на onMultiWindowModeChanged().

Да ли Multi-Window ради на Android TV?

На Android TV доступан је само режим Picture-in-Picture. Split Screen и Freeform нису подржани — телевизори користе један главни екран са PiP прозором у углу.

Шта се дешава са foreground сервисом у Multi-Window-у?

Foreground сервис наставља рад без обзира на режим. Али ако апликација пређе у PiP, систем може привремено зауставити извршење ради уштеде ресурса.

Како обрадити превлачење (Drag and Drop) између прозора?

Android подржава Drag and Drop између прозора у Multi-Window-у кроз ClipData и View.OnDragListener. Подаци се преносе путем ContentProvider-а или Intent-а са FLAG_GRANT_READ_URI_PERMISSION.

Закључак

  • Multi-Window — вишезадачност Android-а са три режима за истовремени рад апликација.
  • Split Screen — подјела екрана на два дијела са раздјељником који се превлачи.
  • Picture-in-Picture — видео у мини-прозору за Android 8.0+.
  • Freeform — прозори произвољне величине на Android TV и Samsung DeX.
  • resizeableActivity — обавезна застава у манифесту за подршку режиму.
  • onMultiWindowModeChanged — callback за преуређење интерфејса при уласку/изласку.
  • Закључак — Multi-Window је обавезан за подршку за све апликације на великим екранима од 2022. године.

Развићемо мобилну апликацију под кључ

IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.

Разговарајте о пројекту

Прочитајте такође