• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1page.title=Dukungan Multi-Jendela
2page.metaDescription=Dukungan baru di Android N untuk menampilkan lebih dari satu aplikasi sekaligus.
3page.keywords="multi-window", "android N", "split screen", "free-form"
4
5@jd:body
6
7<div id="qv-wrapper">
8  <div id="qv">
9    <h2>Dalam dokumen ini</h2>
10      <ol>
11        <li><a href="#overview">Ringkasan</a></li>
12        <li><a href="#lifecycle">Daur Hidup Multi-Jendela</a></li>
13        <li><a href="#configuring">Mengonfigurasi Aplikasi Anda untuk Mode
14              Multi-Jendela</a></li>
15        <li><a href="#running">Menjalankan Aplikasi Anda dalam Mode Multi-Jendela</a></li>
16        <li><a href="#testing">Menguji Dukungan Multi-Jendela Aplikasi Anda</a></li>
17      </ol>
18    <h2>Lihat Juga</h2>
19      <ol>
20        <li><a class="external-link" href="https://github.com/googlesamples/android-MultiWindowPlayground">Aplikasi contoh Playground
21          Multi-Jendela</a></li>
22        <li><a class="external-link" href="https://medium.com/google-developers/5-tips-for-preparing-for-multi-window-in-android-n-7bed803dda64">Lima Tip untuk Mempersiapkan Multi-Jendela di Android N</a></li>
23      </ol>
24  </div>
25</div>
26
27<p>
28  Android N menambahkan dukungan untuk menampilkan lebih dari satu aplikasi
29  sekaligus. Pada perangkat genggam, dua aplikasi bisa berjalan berdampingan atau
30  atas-bawah dalam mode <em>layar terbagi</em>. Pada perangkat TV, aplikasi bisa
31  menggunakan mode <em>gambar-dalam-gambar</em> untuk melanjutkan pemutaran video selagi pengguna
32  berinteraksi dengan aplikasi lain.
33</p>
34
35<p>
36  Jika Anda membangun aplikasi Anda dengan N Preview SDK, Anda bisa mengonfigurasi cara aplikasi
37  menangani tampilan multi-jendela. Misalnya, Anda bisa menetapkan dimensi
38  minimum yang diizinkan aktivitas Anda. Anda juga bisa menonaktifkan tampilan multi-jendela untuk
39   aplikasi, sehingga memastikan sistem hanya menampilkan aplikasi Anda dalam mode
40  layar penuh.
41</p>
42
43<h2 id="overview">Ringkasan</h2>
44
45<p>
46  Android N memungkinkan beberapa aplikasi berbagi layar sekaligus. Misalnya,
47  pengguna bisa membagi layar, melihat halaman web di sisi kiri
48  sambil menulis email di sisi kanan. Pengalaman pengguna bergantung pada
49  perangkat:
50</p>
51
52<ul>
53  <li>Perangkat genggam yang menjalankan Android N menawarkan mode
54  layar terbagi. Di mode ini, sistem mengisi layar dengan dua aplikasi, menampilkannya secara
55  berdampingan atau atas-bawah. Pengguna bisa menyeret garis pembagi
56   yang memisahkan keduanya untuk membuat satu aplikasi lebih besar dan yang lainnya lebih kecil.
57  </li>
58
59  <li>Pada Nexus Player yang menjalankan Android N, aplikasi bisa menempatkan diri
60  dalam <a href="picture-in-picture.html">mode gambar-dalam-gambar</a>, yang memungkinkannya
61  untuk terus menampilkan materi selagi pengguna menjelajahi atau berinteraksi dengan
62   aplikasi lain.
63  </li>
64
65  <li>Produsen perangkat berukuran lebih besar bisa memilih untuk mengaktifkan mode
66 bentuk bebas, di mana pengguna bisa bebas mengubah ukuran setiap aktivitas. Jika
67  produsen mengaktifkan fitur ini, perangkat akan menawarkan mode bentuk bebas sebagai tambahan
68  untuk mode layar terbagi.
69  </li>
70</ul>
71
72<img src="{@docRoot}preview/images/mw-splitscreen.png" alt="" width="650" srcset="{@docRoot}preview/images/mw-splitscreen.png 1x,
73    {@docRoot}preview/images/mw-splitscreen_2x.png 2x," id="img-split-screen" />
74<p class="img-caption">
75  <strong>Gambar 1.</strong> Dua aplikasi berjalan berdampingan dalam mode layar terbagi.
76</p>
77
78<p>
79  Pengguna bisa beralih ke mode multi-jendela dengan cara berikut:
80</p>
81
82<ul>
83  <li>Jika pengguna membuka <a href="{@docRoot}guide/components/recents.html">layar
84  Ringkasan</a> dan menekan lama pada
85  judul aktivitas, mereka bisa menyeret aktivitas itu ke bagian yang disorot pada layar
86  untuk menempatkan aktivitas dalam mode multi-jendela.
87  </li>
88
89  <li>Jika pengguna menekan lama pada tombol Ringkasan, perangkat akan menempatkan
90   aktivitas saat ini dalam mode multi-jendela, dan membuka layar Ringkasan guna
91  memungkinkan pengguna memilih aktivitas lain untuk berbagi layar.
92  </li>
93</ul>
94
95<p>
96  Pengguna bisa <a href="{@docRoot}guide/topics/ui/drag-drop.html">seret dan
97  lepas</a> data dari aktivitas satu ke aktivitas lain sewaktu aktivitas berbagi
98  layar. (Sebelumnya, pengguna hanya bisa menyeret dan melepas data dalam aktivitas
99  tunggal.)
100</p>
101
102<h2 id="lifecycle">Daur Hidup Multi-Jendela</h2>
103
104<p>
105  Mode multi-jendela tidak mengubah <a href="{@docRoot}training/basics/activity-lifecycle/index.html">daur hidup
106  aktivitas</a>.
107</p>
108
109<p>
110  Dalam mode multi-jendela, hanya aktivitas yang paling sering digunakan pengguna
111  yang akan aktif pada waktu tertentu. Aktivitas ini dianggap <em>teratas</em>.
112  Semua aktivitas lainnya dalam keadaan berhenti sementara, sekalipun terlihat.
113  Akan tetapi, sistem memberikan aktivitas, yang berhenti-sementara-namun-terlihat ini, prioritas lebih tinggi
114   daripada aktivitas yang tidak terlihat. Jika pengguna berinteraksi dengan salah satu
115  aktivitas yang berhenti sementara, aktivitas tersebut akan dilanjutkan kembali, dan aktivitas
116  teratas sebelumnya akan dihentikan sementara.
117</p>
118
119<p class="note">
120  <strong>Catatan:</strong> Dalam mode multi-jendela, aplikasi bisa berada dalam keadaan berhenti sementara
121  dan masih terlihat oleh pengguna. Sebuah aplikasi mungkin perlu melanjutkan aktivitasnya
122   bahkan saat berhenti sementara. Misalnya, aplikasi pemutar video yang ada dalam
123   mode berhenti sementara namun terlihat harus tetap menampilkan videonya. Karena alasan
124  ini, kami menyarankan aktivitas yang memutar video <em>tidak</em> menghentikan sementara video
125   dalam handler {@link android.app.Activity#onPause onPause()} mereka.
126  Sebagai gantinya, aktivitas itu harus menghentikan sementara video di {@link android.app.Activity#onStop
127  onStop()}, dan melanjutkan pemutaran di {@link android.app.Activity#onStart
128  onStart()}.
129</p>
130
131<p>
132  Bila pengguna menempatkan aplikasi dalam mode multi-jendela, sistem akan memberi tahu
133   aktivitas tersebut mengenai perubahan konfigurasi, sebagaimana ditetapkan dalam <a href="{@docRoot}guide/topics/resources/runtime-changes.html">Menangani Perubahan
134  Waktu Proses</a>. Hal ini juga terjadi ketika pengguna mengubah skala aplikasi, atau menempatkan kembali aplikasi
135  ke mode layar penuh.
136  Pada dasarnya, perubahan ini memiliki implikasi daur hidup aktivitas yang sama
137  seperti saat sistem memberi tahu aplikasi bahwa perangkat telah beralih
138  dari mode potret ke mode lanskap, kecuali dimensi perangkat
139  telah berubah sebagai ganti bertukar posisi. Seperti yang dibahas di <a href="{@docRoot}guide/topics/resources/runtime-changes.html">Menangani Perubahan
140  Waktu Proses</a>, aktivitas Anda bisa menangani perubahan konfigurasi itu sendiri, atau
141   mengizinkan sistem memusnahkan aktivitas dan membuatnya kembali dengan dimensi
142  baru.
143</p>
144
145<p>
146  Jika pengguna mengubah ukuran jendela dan membuat dimensinya lebih besar, sistem
147   akan mengubah ukuran aktivitas untuk menyesuaikan dengan tindakan pengguna dan mengeluarkan <a href="{@docRoot}guide/topics/resources/runtime-changes.html">perubahan waktu proses</a>
148  bila diperlukan. Jika aplikasi tertinggal dibandingkan gambar di area yang baru diekspos,
149  sistem untuk sementara mengisi area tersebut dengan warna yang ditetapkan oleh atribut {@link
150  android.R.attr#windowBackground windowBackground} atau dengan atribut gaya
151  <code>windowBackgroundFallback</code> secara default.
152</p>
153
154<h2 id="configuring">Mengonfigurasi Aplikasi Anda untuk Mode Multi-Jendela</h2>
155
156<p>
157  Jika aplikasi Anda menargetkan Android N, Anda bisa mengonfigurasi bagaimana dan
158  apakah aktivitas aplikasi Anda mendukung tampilan multi-jendela. Anda bisa menyetel
159  atribut dalam manifes untuk mengontrol ukuran dan layoutnya.
160  Setelan atribut aktivitas root berlaku pada semua aktivitas
161   dalam tumpukan tugasnya. Misalnya, jika aktivitas root memiliki
162  <code>android:resizeableActivity</code> yang disetel ke true, maka semua aktivitas
163  dalam tumpukan tugas bisa diubah ukurannya.
164</p>
165
166<p class="note">
167  <strong>Catatan:</strong> Jika Anda membangun aplikasi multi-orientasi dengan versi
168  SDK lebih rendah dari Android N, dan pengguna menggunakan aplikasi
169   dalam mode multi-jendela, sistem akan mengubah ukuran aplikasi secara paksa. Sistem akan menampilkan kotak
170  dialog yang memperingatkan pengguna bahwa aplikasi mungkin berperilaku tidak terduga. Sistem
171   <em>tidak</em> mengubah ukuran aplikasi yang berorientasi tetap; jika
172  pengguna berusaha membuka  aplikasi berorientasi tetap saat mode multi-jendela,
173  aplikasi akan menggunakan seluruh layar.
174</p>
175
176<h4 id="resizeableActivity">android:resizeableActivity</h4>
177<p>
178  Setel atribut ini dalam manifes <code>&lt;activity&gt;</code> Anda atau simpul
179  <code>&lt;application&gt;</code> untuk mengaktifkan atau menonaktifkan tampilan
180   multi-jendela:
181</p>
182
183<pre>
184android:resizeableActivity=["true" | "false"]
185</pre>
186
187<p>
188  Jika atribut ini disetel ke true, aktivitas bisa dijalankan di
189  mode layar terbagi dan mode bentuk bebas. Jika atribut ini disetel ke false, aktivitas
190  tidak akan mendukung mode multi-jendela. Jika nilai ini false, dan pengguna
191  berusaha memulai aktivitas dalam mode multi-jendela, aktivitas akan menggunakan
192   layar penuh.
193</p>
194
195<p>
196  Jika aplikasi Anda menargetkan Android N, namun Anda tidak menetapkan nilai
197  untuk atribut ini, nilai atribut default adalah true.
198</p>
199
200<h4 id="supportsPictureInPicture">android:supportsPictureInPicture</h4>
201
202<p>
203  Setel atribut ini dalam simpul <code>&lt;activity&gt;</code> manifes Anda untuk
204  menunjukkan apakah aktivitas mendukung tampilan gambar-dalam-gambar. Atribut ini
205  diabaikan jika <code>android:resizeableActivity</code> bernilai false.
206</p>
207
208<pre>
209android:supportsPictureInPicture=["true" | "false"]
210</pre>
211
212<h3 id="layout">Atribut layout</h3>
213
214<p>
215  Dengan Android N, elemen manifes <code>&lt;layout&gt;</code>
216  mendukung beberapa atribut yang memengaruhi cara aktivitas berperilaku dalam
217  mode multi-jendela:
218</p>
219
220<dl>
221  <dt>
222    <code>android:defaultWidth</code>
223  </dt>
224
225  <dd>
226    Lebar default aktivitas saat dijalankan dalam mode bentuk bebas.
227  </dd>
228
229  <dt>
230    <code>android:defaultHeight</code>
231  </dt>
232
233  <dd>
234    Tinggi default aktivitas saat dijalankan dalam mode bentuk bebas.
235  </dd>
236
237  <dt>
238    <code>android:gravity</code>
239  </dt>
240
241  <dd>
242    Penempatan awal dari aktivitas saat dibuka dalam mode bentuk bebas. Lihat referensi
243    {@link android.view.Gravity} untuk mengetahui nilai yang cocok.
244  </dd>
245
246  <dt>
247    <code>android:minimalHeight</code>, <code>android:minimalWidth</code>
248  </dt>
249
250  <dd>
251    Tinggi dan lebar minimum untuk aktivitas dalam mode layar terbagi
252    dan mode bentuk bebas. Jika pengguna memindahkan pembagi dalam mode layar terbagi
253    untuk membuat aktivitas lebih kecil dari minimum yang ditetapkan, sistem akan memangkas
254   aktivitas sesuai dengan ukuran yang diminta pengguna.
255  </dd>
256</dl>
257
258<p>
259  Misalnya, kode berikut menampilkan cara menetapkan ukuran dan lokasi default
260  aktivitas, dan ukuran minimumnya, bila aktivitas ditampilkan dalam
261   mode bentuk bebas:
262</p>
263
264<pre>
265&lt;activity android:name=".MyActivity"&gt;
266    &lt;layout android:defaultHeight="500dp"
267          android:defaultWidth="600dp"
268          android:gravity="top|end"
269          android:minimalHeight="450dp"
270          android:minimalWidth="300dp" /&gt;
271&lt;/activity&gt;
272</pre>
273
274<h2 id="running">Menjalankan Aplikasi Anda dalam Mode Multi-Jendela</h2>
275
276<p>
277  Android N menawarkan fungsionalitas baru untuk mendukung aplikasi yang bisa berjalan
278  dalam mode multi-jendela.
279</p>
280
281<h3 id="disabled-features">Fitur yang dinonaktifkan dalam mode multi-jendela</h3>
282
283<p>
284  Fitur tertentu akan dinonaktifkan atau diabaikan bila perangkat berada dalam mode
285  multi-jendela, karena dianggap tidak logis bagi suatu aktivitas yang mungkin berbagi
286  layar perangkat dengan aktivitas atau aplikasi lainnya. Fitur tersebut meliputi:
287
288<ul>
289  <li>Beberapa opsi penyesuaian di <a href="{@docRoot}training/system-ui/index.html">System UI</a>
290  dinonaktifkan; misalnya, aplikasi tidak bisa menyembunyikan bilah status
291  jika tidak berjalan dalam mode layar penuh.
292  </li>
293
294  <li>Sistem akan mengabaikan perubahan pada atribut <code><a href=
295  "{@docRoot}guide/topics/manifest/activity-element.html#screen"
296  >android:screenOrientation</a></code>.
297  </li>
298</ul>
299
300<h3 id="change-notification">Pemberitahuan perubahan multi-jendela dan melakukan kueri</h3>
301
302<p>
303  Metode baru berikut telah ditambahkan ke kelas {@link android.app.Activity}
304  untuk mendukung tampilan multi-jendela. Untuk mengetahui detail tentang setiap
305  metode, lihat <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referensi N
306 Preview SDK</a>.
307</p>
308
309<dl>
310  <dt>
311    <code>Activity.isInMultiWindowMode()</code>
312  </dt>
313
314  <dd>
315    Panggil untuk mengetahui apakah aktivitas berada dalam mode multi-jendela.
316  </dd>
317
318  <dt>
319    <code>Activity.isInPictureInPictureMode()</code>
320  </dt>
321
322  <dd>
323    Panggil untuk mengetahui apakah aktivitas berada dalam mode gambar-dalam-gambar.
324
325    <p class="note">
326      <strong>Catatan:</strong> Mode gambar-dalam-gambar adalah kasus khusus pada
327      mode multi-jendela. Jika <code>myActivity.isInPictureInPictureMode()</code>
328     mengembalikan nilai true, maka <code>myActivity.isInMultiWindowMode()</code> juga
329      mengembalikan nilai true.
330    </p>
331  </dd>
332
333  <dt>
334    <code>Activity.onMultiWindowModeChanged()</code>
335  </dt>
336
337  <dd>
338    Sistem akan memanggil metode ini bila aktivitas masuk atau keluar dari
339    mode multi-jendela. Sistem akan meneruskan ke metode sebuah nilai true jika
340   aktivitas tersebut memasuki mode multi-jendela, dan nilai false jika aktivitas
341     tersebut meninggalkan mode multi-jendela.
342  </dd>
343
344  <dt>
345    <code>Activity.onPictureInPictureModeChanged()</code>
346  </dt>
347
348  <dd>
349    Sistem akan memanggil metode ini bila aktivitas masuk atau keluar dari
350    mode gambar-dalam-gambar. Sistem akan meneruskan ke metode sebuah nilai true jika
351   aktivitas tersebut memasuki mode gambar-dalam-gambar, dan nilai false jika aktivitas
352     tersebut meninggalkan mode gambar-dalam-gambar.
353  </dd>
354</dl>
355
356<p>
357  Ada juga versi {@link android.app.Fragment} untuk setiap
358  metode ini, misalnya <code>Fragment.isInMultiWindowMode()</code>.
359</p>
360
361<h3 id="entering-pip">Memasuki mode gambar-dalam-gambar</h3>
362
363<p>
364  Untuk menempatkan aktivitas dalam mode gambar-dalam-gambar, panggil metode baru
365  <code>Activity.enterPictureInPictureMode()</code>. Metode ini tidak berpengaruh jika
366   perangkat tidak mendukung mode gambar-dalam-gambar. Untuk informasi selengkapnya,
367   lihat dokumentasi <a href="picture-in-picture.html">Gambar-dalam-Gambar</a>.
368</p>
369
370<h3 id="launch">Meluncurkan Aktivitas Baru dalam Mode Multi-Jendela</h3>
371
372<p>
373  Bila meluncurkan aktivitas baru, Anda bisa memberi petunjuk pada sistem bahwa aktivitas
374  baru harus ditampilkan bersebelahan dengan aktivitas yang sedang aktif, jika memungkinkan. Caranya,
375  gunakan flag
376  <code>Intent.FLAG_ACTIVITY_LAUNCH_TO_ADJACENT</code>. Meneruskan
377  flag ini akan meminta perilaku berikut:
378</p>
379
380<ul>
381  <li>Jika perangkat berada dalam mode layar terbagi, sistem akan berupaya membuat
382  aktivitas baru di sebelah aktivitas yang meluncurkannya, sehingga kedua aktivitas tersebut
383  berbagi layar. Tidak ada jaminan sistem mampu melakukannya, namun sistem akan
384  membuat aktivitas bersebelahan jika memungkinkan.
385  </li>
386
387  <li>Jika perangkat tidak berada dalam mode layar terbagi, flag ini tidak akan berpengaruh.
388  </li>
389</ul>
390
391<p>
392  Jika perangkat dalam mode bentuk bebas dan Anda menjalankan aktivitas baru, Anda bisa
393  menetapkan dimensi aktivitas baru dan lokasi layar dengan memanggil
394  <code>ActivityOptions.setLaunchBounds()</code>. Metode ini tidak berpengaruh jika
395  perangkat tidak berada dalam mode multi-jendela.
396</p>
397
398<p class="note">
399  <strong>Catatan:</strong> Jika Anda meluncurkan aktivitas dalam tumpukan tugas, aktivitas
400  tersebut akan menggantikan aktivitas pada layar, dengan mewarisi semua
401   properti multi-jendelanya. Jika Anda ingin meluncurkan aktivitas baru sebagai jendela
402  terpisah dalam mode multi-jendela, Anda harus meluncurkannya dalam tumpukan tugas baru.
403</p>
404
405<h3 id="dnd">Mendukung seret dan lepas</h3>
406
407<p>
408  Pengguna bisa <a href="{@docRoot}guide/topics/ui/drag-drop.html">menyeret dan
409  melepas</a> data dari satu aktivitas ke aktivitas yang lain selagi kedua aktivitas
410  berbagi layar. (Sebelumnya, pengguna hanya bisa menyeret dan melepas data dalam
411   aktivitas tunggal.) Karena alasan ini, Anda mungkin perlu menambahkan fungsionalitas
412  seret dan lepas ke aplikasi jika aplikasi saat ini belum mendukungnya.
413</p>
414
415<p>
416  N Preview SDK menambahkan paket <a href="{@docRoot}reference/android/view/package-summary.html"><code>android.view</code></a>
417  untuk mendukung seret dan lepas lintas-aplikasi. Untuk mengetahui detail tentang kelas dan metode
418  berikut, lihat <a href="{@docRoot}preview/setup-sdk.html#docs-dl">Referensi N
419  Preview SDK</a>.
420</p>
421
422<dl>
423  <dt>
424    <code>android.view.DropPermissions</code>
425  </dt>
426
427  <dd>
428    Objek token bertanggung jawab menetapkan izin yang diberikan kepada aplikasi
429    yang menerima pelepasan tersebut.
430  </dd>
431
432  <dt>
433    <code>View.startDragAndDrop()</code>
434  </dt>
435
436  <dd>
437    Alias baru untuk {@link android.view.View#startDrag View.startDrag()}. Untuk
438    mengaktifkan seret dan lepas lintas-aktivitas, teruskan flag baru
439    <code>View.DRAG_FLAG_GLOBAL</code>. Jika Anda perlu memberikan izin URI ke
440    aktivitas penerima, teruskan flag baru,
441    <code>View.DRAG_FLAG_GLOBAL_URI_READ</code> atau
442    <code>View.DRAG_FLAG_GLOBAL_URI_WRITE</code>, sebagaimana mestinya.
443  </dd>
444
445  <dt>
446    <code>View.cancelDragAndDrop()</code>
447  </dt>
448
449  <dd>
450    Membatalkan operasi seret yang sedang berlangsung. Hanya bisa dipanggil oleh
451    aplikasi yang menghasilkan operasi seret.
452  </dd>
453
454  <dt>
455    <code>View.updateDragShadow()</code>
456  </dt>
457
458  <dd>
459    Menggantikan bayangan penyeretan untuk operasi seret yang sedang berlangsung. Hanya
460    bisa dipanggil oleh aplikasi yang menghasilkan operasi seret.
461  </dd>
462
463  <dt>
464    <code>Activity.requestDropPermissions()</code>
465  </dt>
466
467  <dd>
468    Meminta izin untuk URI materi yang diteruskan dengan {@link
469    android.content.ClipData} yang terdapat dalam {@link android.view.DragEvent}.
470  </dd>
471</dl>
472
473<h2 id="testing">Menguji Dukungan Multi-Jendela Aplikasi Anda</h2>
474
475<p>
476  Apakah Anda memperbarui aplikasi untuk Android N atau tidak, Anda harus
477  verifikasi bagaimana perilakunya di mode multi-jendela saat pengguna mencoba untuk menjalankannya
478  dalam mode multi-jendela pada perangkat yang menjalankan Android N.
479</p>
480
481<h3 id="configuring">Mengonfigurasi Perangkat Pengujian</h3>
482
483<p>
484  Jika Anda pasang Android N pada perangkat, mode
485  layar terbagi secara otomatis didukung.
486</p>
487
488<h3 id="test-non-n">Jika aplikasi Anda tidak dibangun dengan N Preview SDK</h3>
489
490<p>
491  Jika Anda tidak membangun aplikasi dengan N Preview SDK dan pengguna berupaya menggunakan
492  aplikasi dalam mode multi-jendela, sistem secara paksa akan mengubah ukuran aplikasi kecuali jika aplikasi
493  mendeklarasikan orientasi tetap.
494</p>
495
496<p>
497  Jika aplikasi Anda tidak mendeklarasikan orientasi tetap, Anda harus meluncurkan aplikasi
498  pada perangkat yang menjalankan Android N dan berupaya menempatkan aplikasi tersebut dalam
499  mode layar terbagi. Verifikasi pengalaman pengguna
500  bisa diterima bila aplikasi secara paksa diubah ukurannya.
501</p>
502
503<p>
504  Jika aplikasi mendeklarasikan orientasi tetap, Anda harus berupaya menempatkan aplikasi dalam
505  mode multi-jendela. Verifikasi apakah saat Anda melakukannya, aplikasi tetap berada dalam
506  mode layar penuh.
507</p>
508
509<h3 id="test-mw">Jika Anda mendukung mode multi-jendela</h3>
510
511<p>
512  Jika Anda membuat aplikasi Anda dengan N Preview SDK dan belum menonaktifkan
513  dukungan multi-jendela, verifikasi perilaku berikut dalam mode layar terbagi
514   dan mode bentuk bebas.
515</p>
516
517<ul>
518  <li>Luncurkan aplikasi dalam mode layar penuh, kemudian beralih ke mode multi-jendela dengan
519   menekan lama pada tombol Ringkasan. Verifikasi apakah aplikasi beralih dengan benar.
520  </li>
521
522  <li>Jalankan aplikasi secara langsung dalam mode multi-jendela, dan verifikasi aplikasi
523  diluncurkan dengan benar. Anda bisa meluncurkan aplikasi dalam mode multi-jendela dengan menekan
524  tombol Ringkasan, kemudian menekan lama baris judul pada aplikasi Anda dan menyeretnya
525  ke salah satu area yang disorot di layar.
526  </li>
527
528  <li>Ubah ukuran aplikasi Anda dalam mode layar terbagi dengan menyeret garis pembagi.
529  Verifikasi apakah aplikasi mengubah ukuran tanpa mogok, dan apakah elemen UI yang diperlukan
530  terlihat.
531  </li>
532
533  <li>Jika Anda telah menetapkan dimensi minimum aplikasi, cobalah untuk mengubah ukuran
534  aplikasi di bawah dimensi tersebut. Verifikasi apakah Anda tidak bisa mengubah ukuran aplikasi menjadi
535  lebih kecil dari minimum yang ditetapkan.
536  </li>
537
538  <li>Melalui semua pengujian, verifikasi apakah kinerja aplikasi Anda bisa diterima. Misalnya,
539  verifikasi apakah tidak ada jeda yang terlalu lama untuk memperbarui UI setelah
540  aplikasi diubah ukurannya.
541  </li>
542</ul>
543
544<h4 id="test-checklist">Daftar periksa pengujian</h4>
545
546<p>
547  Untuk verifikasi kinerja aplikasi Anda dalam mode multi-jendela, cobalah operasi
548  berikut. Anda harus mencoba semua operasi ini dalam mode layar terbagi dan
549   dan mode multi-jendela, kecuali jika dinyatakan berbeda.
550</p>
551
552<ul>
553  <li>Masuki dan tinggalkan mode multi-jendela.
554  </li>
555
556  <li>Beralih dari aplikasi Anda ke aplikasi lain, dan verifikasi apakah aplikasi berperilaku
557   sebagaimana mestinya saat terlihat namun tidak aktif. Misalnya, jika aplikasi Anda
558   sedang memutar video, verifikasi apakah video terus diputar selagi pengguna
559  berinteraksi dengan aplikasi lain.
560  </li>
561
562  <li>Dalam mode layar terbagi, cobalah menggeser garis pembagi untuk membuat aplikasi
563  Anda menjadi lebih besar dan lebih kecil. Coba operasi ini dalam konfigurasi berdampingan dan
564  atas-bawah. Verifikasi apakah aplikasi tidak mogok,
565  fungsionalitas penting bisa terlihat, dan operasi mengubah ukuran tidak memakan waktu terlalu
566  lama.
567  </li>
568
569  <li>Lakukan beberapa operasi ubah ukuran berturut-turut dalam waktu cepat. Verifikasi apakah
570  aplikasi Anda tidak mogok atau mengalami kebocoran memori. Untuk informasi tentang memeriksa penggunaan memori
571  aplikasi Anda, lihat <a href="{@docRoot}tools/debugging/debugging-memory.html">
572  Menyelidiki Penggunaan RAM Anda</a>.
573  </li>
574
575  <li>Gunakan aplikasi secara normal di sejumlah konfigurasi jendela yang berbeda, dan
576  verifikasi apakah aplikasi berperilaku sebagaimana mestinya. Verifikasi apakah teks terbaca, dan apakah
577  elemen UI tidak terlalu kecil untuk interaksi.
578  </li>
579</ul>
580
581<h3 id="test-disabled-mw">Jika Anda telah menonaktifkan dukungan multi-jendela</h3>
582
583<p>
584  Jika Anda menonaktifkan dukungan multi-jendela dengan menyetel
585  <code>android:resizableActivity="false"</code>, Anda harus menjalankan aplikasi pada
586  perangkat yang menjalankan Android N dan berusaha menempatkan aplikasi dalam
587  mode bentuk bebas dan mode layar terbagi. Verifikasi apakah saat Anda melakukannya, aplikasi tetap berada dalam
588  mode layar penuh.
589</p>
590