Multi-Window: esensi, mode multitasking di Android

Penulis: IT Sectr Diterbitkan: 2026-06-08 Waktu membaca: 10 mnt

Multi-Window — adalah kumpulan mode multitasking di Android yang memungkinkan menjalankan beberapa aplikasi secara bersamaan di layar. Sistem ini mencakup tiga mode: Split Screen untuk membagi layar menjadi dua bagian, Picture-in-Picture untuk video di jendela mini, dan Freeform untuk jendela ukuran sembarang di layar besar. Menurut Android Developers (2025), dukungan Multi-Window wajib untuk perangkat dengan lebar layar 600 dp atau lebih, dan setiap pengembang harus menyesuaikan aplikasi terhadap kemungkinan perubahan ukuran jendela.

Poin utama

  • Multi-Window — sistem multitasking Android dengan tiga mode: Split Screen, PiP, Freeform.
  • Split Screen — dua aplikasi berdampingan, pemisah dapat ditarik, proporsi berubah.
  • Picture-in-Picture — video di jendela mini di atas aplikasi lain.
  • Freeform — jendela ukuran sembarang di Android TV dan layar besar.
  • ResizeableActivity — flag di manifes untuk menyatakan dukungan mode multi-jendela.

Apa itu Multi-Window di Android?

Multi-Window — adalah fitur Android yang diperkenalkan di versi 7.0 Nougat (API 24), yang memungkinkan menjalankan dua atau lebih aplikasi secara bersamaan di layar. Mode ini menjadi jawaban Google atas meningkatnya popularitas tablet dan perangkat layar besar, di mana mode satu tugas membatasi produktivitas.

Sebelum Android 7.0 setiap aplikasi menempati seluruh layar — saat beralih antar aplikasi, aplikasi sebelumnya diminimalkan. Multi-Window mengubah model ini: sekarang aplikasi dapat menempati sebagian layar sambil tetap aktif. Bagi pengembang, ini berarti onConfigurationChanged dan penanganan perubahan ukuran menjadi wajib.

Di Android 12L (2022) Google menjadikan Multi-Window sebagai mode default untuk perangkat layar besar — semua aplikasi di tablet berjalan dalam mode yang mengizinkan multi-jendela. Pengecualian hanya untuk aplikasi dengan larangan eksplisit di manifes.

Mode Multi-Window: Split Screen, PiP, Freeform

Split Screen — mode yang paling umum. Layar dibagi menjadi dua bagian secara horizontal atau vertikal, pengguna menyeret pemisah. Tersedia di ponsel dan tablet. Diaktifkan melalui Overview (Recents) — dengan menyeret ikon aplikasi ke tepi atas atau bawah.

Picture-in-Picture (PiP) — mode untuk aplikasi video dan navigasi. Konten ditampilkan di jendela mini mengambang (sekitar 15–25% layar) yang dapat dipindahkan. Tersedia di Android 8.0+. Untuk aktivasi digunakan enterPictureInPictureMode() di Activity.

Freeform — mode jendela ukuran sembarang, mirip dengan pengelola jendela desktop. Tersedia di Android TV dan beberapa perangkat layar besar pabrikan (Samsung DeX). Aplikasi berjalan di jendela dengan judul dan tombol kontrol.

Cara kerja Multi-Window

Ketika pengguna mengaktifkan Multi-Window, Android membuat instance Activity baru untuk setiap aplikasi dan mendistribusikan ruang layar yang tersedia. Aktivitas ditempatkan di Task terpisah, tetapi menggunakan StackView yang sama dengan pemisah di antaranya.

Sistem memberi tahu setiap Activity tentang perubahan ukuran melalui onConfigurationChanged(). Jika Activity tidak menangani peristiwa ini — Activity akan dibuat ulang (recreate). Untuk Split Screen, lebar jendela dapat berkurang hingga 220 dp — lebar minimum yang didukung platform.

Android memungkinkan aplikasi mendeklarasikan lebar minimum melalui android:minWidth dan android:minHeight di manifes. Jika ruang yang tersedia lebih kecil dari nilai yang ditentukan — Activity masuk ke mode jeda.

Menyesuaikan Activity dengan mode multi-jendela

Untuk mendukung Multi-Window, Anda perlu mengatur flag android:resizeableActivity="true" di manifes. Ini berarti aplikasi dapat mengubah ukuran saat jendela berubah. Secara default di Android 12L+ semua aplikasi dianggap resizeable — flag diabaikan.

Saat ukuran jendela berubah, Activity dapat dibuat ulang (default) atau menangani peristiwa di onConfigurationChanged, jika di manifes ditentukan configChanges="screenSize|smallestScreenSize". Disarankan untuk menentukan configChanges untuk Activity kunci guna menghindari kehilangan status.

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

Untuk aplikasi yang tidak mendukung perubahan ukuran, Android menampilkan dialog peringatan. Dalam hal ini, saat beralih ke mode multi-jendela, sistem dapat mengakhiri Activity dan menampilkan snackbar dengan tawaran untuk memulai ulang.

Multi-Window dan siklus hidup Activity

Multi-Window mengubah siklus hidup standar Activity. Ketika aplikasi lain menjadi aktif di jendela yang berdekatan, Activity saat ini menerima panggilan onPause(), tetapi bukan onStop() — tetap terlihat, meskipun tidak dalam fokus. Ini penting: pemutar video harus melanjutkan pemutaran di onPause, bukan di onStop.

Pengembang harus membedakan status: onPause + isInMultiWindowMode() = true berarti hanya kehilangan fokus, bukan keluar dari layar. Untuk video dan animasi, ini adalah sinyal untuk tidak menghentikan pemutaran, hanya menghilangkan sorotan dari elemen kontrol.

Saat keluar dari Multi-Window onMultiWindowModeChanged() dipanggil sebelum onResume(). Ini memberikan kesempatan untuk membangun ulang antarmuka ke mode layar penuh sebelum pengguna mulai berinteraksi.

Praktik terbaik untuk Multi-Window

Aturan pertama — menyimpan status. Dalam mode multi-jendela, Activity dapat dibuat ulang kapan saja. Gunakan SavedStateHandle di ViewModel atau onSaveInstanceState untuk semua data yang harus dipertahankan di antara perubahan konfigurasi.

Kedua — menguji pada lebar minimum 220 dp. Nilai ini dianggap sebagai jendela tersempit di Split Screen. Antarmuka harus tetap terbaca dan fungsional. Jika beberapa elemen keluar dari batas — gunakan Window Size Class untuk beralih antar tata letak.

Ketiga — menonaktifkan fungsionalitas yang tidak berfungsi di Multi-Window. Misalnya, Camera mungkin tidak tersedia jika layar terlalu kecil. Periksa isInMultiWindowMode() sebelum memulai kamera atau fungsi layar penuh lainnya.

Pertanyaan yang sering diajukan

Bagaimana cara menonaktifkan Multi-Window untuk aplikasi saya?

Atur android:resizeableActivity="false" di manifes. Di Android 12L+ flag diabaikan untuk perangkat layar besar, jadi untuk penonaktifan penuh gunakan android:maxAspectRatio.

Bagaimana cara menentukan bahwa aplikasi berada di Multi-Window?

Panggil isInMultiWindowMode() dari Activity. Metode mengembalikan true jika aplikasi berjalan di Split Screen, PiP atau Freeform. Anda juga dapat berlangganan onMultiWindowModeChanged().

Apakah Multi-Window berfungsi di Android TV?

Di Android TV hanya tersedia mode Picture-in-Picture. Split Screen dan Freeform tidak didukung — TV menggunakan satu layar utama dengan jendela PiP di sudut.

Apa yang terjadi dengan foreground-service di Multi-Window?

Foreground-service terus berjalan terlepas dari mode. Tetapi jika aplikasi beralih ke PiP, sistem dapat untuk sementara menghentikan eksekusi untuk menghemat sumber daya.

Bagaimana cara menangani seret dan lepas (Drag and Drop) antar jendela?

Android mendukung Drag and Drop antar jendela di Multi-Window melalui ClipData dan View.OnDragListener. Data ditransfer melalui ContentProvider atau Intent dengan FLAG_GRANT_READ_URI_PERMISSION.

Kesimpulan

  • Multi-Window — multitasking Android dengan tiga mode untuk kerja aplikasi simultan.
  • Split Screen — pembagian layar menjadi dua bagian dengan pemisah yang dapat ditarik.
  • Picture-in-Picture — video di jendela mini untuk Android 8.0+.
  • Freeform — jendela ukuran sembarang di Android TV dan Samsung DeX.
  • resizeableActivity — flag wajib di manifes untuk dukungan mode.
  • onMultiWindowModeChanged — callback untuk membangun ulang antarmuka saat masuk/keluar.
  • Kesimpulan — Multi-Window wajib didukung untuk semua aplikasi di layar besar sejak 2022.

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga