[go: up one dir, main page]

Penggunaan multitasking Chrome meningkat 18x di layar besar

Diposting oleh Tim Android

Google Chrome adalah browser yang paling banyak digunakan secara global, dan tim Chrome ingin memastikan penggunanya memiliki pengalaman terbaik di semua perangkat. Banyak pengguna Chrome meminta lebih banyak fitur produktivitas di perangkat seluler, tablet, dan perangkat foldable mereka agar bisa lebih mengimbangi kemampuan Chrome di desktop. Untuk memenuhi kebutuhan ini, tim memutuskan untuk berinvestasi dalam membangun fitur yang mendorong kemampuan multitasking. Meskipun tim juga membuatnya untuk ponsel, mereka ingin secara khusus berfokus pada penerapan fitur-fitur ini di perangkat yang nanti paling banyak digunakan orang: perangkat layar besar seperti tablet dan perangkat foldable.


GIF yang menampilkan multitasking di tablet dengan banyak instance

Yang mereka lakukan

Pertama-tama tim memutuskan untuk berfokus pada membangun cara agar orang bisa membuka beberapa jendela Chrome (instance) secara berdampingan. Mereka memanfaatkan fitur 12L seperti taskbar dan juga memanfaatkan panel tepi Samsung.

Mereka menggunakan mode peluncuran singleInstancePerTask untuk membangun fungsionalitas berdampingan. Mereka menginginkan keseimbangan sehingga orang bisa menggunakan banyak jendela sekaligus dan memastikan fitur tersebut masih dapat digunakan. Tim meneliti praktik terbaik kegunaan, mengamati pengalaman multijendela lainnya pada perangkat layar besar, dan memikirkan batasan untuk memastikan penggunaan memori perangkat yang optimal. Mereka memutuskan bahwa orang dapat dengan nyaman menggunakan hingga lima jendela secara berdampingan di perangkat layar besar, dan tim mengupdate aplikasi mereka untuk mendukung fungsionalitas ini.

Tim ingin memudahkan penggunanya untuk memanfaatkan fitur ini, jadi mereka menambahkan pintasan “Jendela Baru” di menu. Mereka menggunakan kemampuan baru dari kombinasi flag intent LAUNCH_ADJACENT|NEW_TASK untuk membuat pintasan ini. Menampilkan fitur ini secara menonjol dalam produk sangatlah meningkatkan penggunaan. Mereka melihat penggunaan multijendela meningkat sebesar 18x.


Hasil

Ini adalah fitur baru, dan tim Chrome melihat bahwa multi-instance untuk aplikasi Chrome digunakan 42% lebih banyak di tablet dan perangkat foldable daripada di ponsel yang mendukung fitur tersebut. Penggunaan ini menunjukkan bahwa fungsionalitas ini disukai pengguna Chrome di perangkat layar besar, dan investasi dalam membangun fitur ini sangatlah tepat untuk meningkatkan pengalaman bagi pengguna Chrome di layar besar.

Mereka juga mendapatkan masukan yang sangat positif dari pengguna layar besar dalam bentuk ulasan aplikasi. “Aplikasi ini luar biasa 👌! Anda bisa membuat layar terpisah, mengubah tab, dan banyak lagi. Anda juga bisa memainkan banyak game di sini. Saya suka memberi bintang lima pada aplikasi ini.”

Tim memiliki rencana di masa mendatang untuk lebih meningkatkan pengalaman Chrome di layar besar guna membantu penggunanya menjadi lebih produktif.


Foto Theresa Sullican, Tech Lead/Manager di Google Chrome.

Memulai

Pelajari lebih lanjut tentang cara mulai mengoptimalkan aplikasi Anda untuk layar besar.

Meningkatkan Performa Aplikasi dengan Profil Baseline

Atau cara meningkatkan waktu startup hingga 40%

Diposting oleh Kateryna Semenova, DevRel Engineer; Rahul Ravikumar, Software Engineer; Chris Craik, Software Engineer

TEKS ALT DI SINI


Mengapa waktu startup sangatlah penting?

Banyak aplikasi menemukan korelasi antara performa aplikasi dan interaksi pengguna. Orang-orang mengharapkan aplikasi yang responsif dan cepat dimuat. Waktu startup adalah salah satu metrik utama untuk menilai performa dan kualitas aplikasi.

Beberapa mitra kami menginvestasikan banyak waktu dan sumber daya untuk optimalisasi startup aplikasi. Sebagai contoh, lihat cerita Facebook.

Dalam postingan blog ini kita akan membahas Profil Baseline dan cara kerjanya dalam meningkatkan performa aplikasi dan library, termasuk waktu startup hingga 40%. Meskipun postingan blog ini berfokus pada startup, profil baseline juga meningkatkan jank secara signifikan.


Histori

Android 9 (API level 28) memperkenalkan profil optimalisasi ART di Play Cloud untuk meningkatkan waktu startup aplikasi. Rata-rata, kami melihat cold start aplikasi setidaknya 15% lebih cepat di berbagai perangkat bila Profil Cloud tersedia.


Bagaimana cara kerja Profil?

Saat aplikasi pertama kali diluncurkan setelah penginstalan atau update, kodenya berjalan dalam mode interpreted hingga di-JIT. Dalam APK, kode Java dan Kotlin dikompilasi sebagai bytecode dex, tetapi tidak sepenuhnya dikompilasi ke kode mesin (sejak Android 6), karena biaya penyimpanan dan pemuatan aplikasi yang dikompilasi sepenuhnya. Class dan metode yang sering digunakan dalam aplikasi, serta yang digunakan untuk startup aplikasi, direkam ke dalam file profil. Setelah perangkat memasuki mode idle, ART mengompilasi aplikasi berdasarkan profil-profil ini. Hal ini mempercepat peluncuran aplikasi berikutnya.

Dimulai dengan Android 9 (API level 28), Google Play juga menyediakan Profil Cloud. Saat aplikasi berjalan di perangkat, profil yang dihasilkan oleh ART diupload oleh aplikasi Play Store dan dikumpulkan di cloud. Setelah ada cukup profil yang diupload untuk suatu aplikasi, aplikasi Play akan menggunakan profil yang dikumpulkan untuk penginstalan berikutnya.


Masalah

Meskipun Profil Cloud sangatlah bagus bila tersedia, profil ini tidak selalu siap digunakan saat aplikasi diinstal. Mengumpulkan dan menggabungkan profil biasanya memakan waktu beberapa hari, yang merupakan masalah ketika banyak aplikasi diupdate setiap minggu. Banyak pengguna akan menginstal update sebelum Profil Cloud tersedia. Tim Google Android mulai mencari cara lain untuk memperbaiki latensi profil.


Solusi

Profil Baseline adalah mekanisme baru untuk menyediakan profil yang dapat digunakan di Android 7 (API level 24) dan yang lebih tinggi. Profil baseline adalah profil ART yang dihasilkan oleh plugin Android Gradle menggunakan format profil yang dapat dibaca manusia dan dapat disediakan oleh aplikasi serta library. Contohnya terlihat seperti ini:

HSPLandroidx/compose/runtime/ComposerImpl;->updateValue(Ljava/lang/Object;)V
HSPLandroidx/compose/runtime/ComposerImpl;->updatedNodeCount(I)I
HLandroidx/compose/runtime/ComposerImpl;->validateNodeExpected()V
PLandroidx/compose/runtime/CompositionImpl;->applyChanges()V
HLandroidx/compose/runtime/ComposerKt;->findLocation(Ljava/util/List;I)I

Contoh untuk library Compose.


Profil biner disimpan di lokasi tertentu dalam direktori aset APK (assets/dexopt/baseline.prof).

Profil Baseline dibuat pada waktu build, dikirimkan sebagai bagian dari APK ke Play, lalu dikirim dari Play ke pengguna saat aplikasi didownload. Mereka mengisi celah di pipeline Profil Cloud ART, saat Profil Cloud belum tersedia, dan secara otomatis bergabung dengan Profil Cloud saat sudah tersedia.


Diagram ini menampilkan alur kerja profil baseline dari pembuatan hingga pengiriman ke pengguna akhir.

Diagram ini menampilkan alur kerja profil baseline dari pembuatan hingga pengiriman ke pengguna akhir.


Salah satu keuntungan terbesar dari Profil Baseline adalah bisa dikembangkan dan dievaluasi secara lokal sehingga developer dapat melihat peningkatan performa pengguna akhir yang realistis. Profil ini juga didukung pada versi Android yang lebih rendah (7 dan yang lebih tinggi) daripada Profil Cloud, yang hanya tersedia mulai Android 9.


Dampak


Developer aplikasi

Pada awal 2021, Google Maps beralih dari siklus rilis dua minggu ke satu minggu. Semakin sering mengupdate semakin sering pra-kompilasi lokal dihapus, dan semakin banyak pengguna yang mengalami peluncuran lambat tanpa Profil Cloud Play. Dengan menggunakan Profil Baseline, Google Maps meningkatkan waktu startup rata-rata sebesar 30% dan mengalami peningkatan yang sama dalam penelusuran sebesar 2,4%, keuntungan yang sangat besar untuk aplikasi yang sudah mapan.


Developer library

Kode dalam library sama seperti aplikasi - tidak sepenuhnya dikompilasi secara default, yang bisa menjadi masalah ketika melakukan pekerjaan yang signifikan di jalur kritis saat startup.

Jetpack Compose adalah library UI yang bukan bagian dari image sistem Android sehingga tidak sepenuhnya dikompilasi saat diinstal, tidak seperti kebanyakan kode toolkit Android View. Hal ini menyebabkan masalah performa, terutama untuk beberapa cold-launch aplikasi.

Untuk mengatasi masalah ini, Compose menggunakan installer profil. Hal ini akan mengirimkan aturan profil baseline yang mengurangi waktu startup dan jank di aplikasi Compose.

Halaman hasil penelusuran Google PlayStore telah ditulis ulang dengan Compose. Setelah memasukkan aturan Profil Baseline dari Compose, waktu render halaman hasil penelusuran awal dengan gambar meningkat sebesar ~40%.

Tim Android juga telah menambahkan Profil Baseline ke library AndroidX yang relevan. Hal ini menguntungkan semua aplikasi Android yang menggunakan library ini. Constraint Layout menemukan bahwa aturan profil pengiriman mengurangi waktu render frame animasi lebih dari satu milidetik.


Cara menggunakan Profil Baseline


Buat Profil Baseline khusus

Semua developer aplikasi dan library bisa memanfaatkan penyertaan Profil Baseline. Idealnya, developer membuat profil untuk penjelajahan pengguna yang paling penting untuk memastikan penjelajahan tersebut memiliki performa yang cepat secara konsisten terlepas dari apakah profil cloud tersedia. Lihat panduan detail tentang cara menyiapkan Profil Baseline untuk developer aplikasi dan library.


Update dependensi

Jika Anda belum siap membuat Profil Baseline untuk aplikasi sekarang, Anda masih bisa memanfaatkannya dengan mengupdate dependensi. Jika Anda membangun dengan Plugin Android Gradle 7.1.0-alpha05 atau yang lebih baru, Anda akan mendapatkan Profil Baseline yang disertakan dalam APK yang sudah disediakan oleh library (seperti Jetpack). Google Play mengompilasi aplikasi Anda dengan profil ini pada waktu penginstalan. Anda bisa melengkapi profil ini sebagai bagian dari pembangunan aplikasi.


Ukur Peningkatan

Jangan lupa mengukur peningkatan. Ikuti langkah-langkah tentang cara mengukur startup dengan profil yang dibuat secara lokal.


Berikan masukan

Silakan berikan masukan dan ceritakan pengalaman Anda!

Membangun aplikasi untuk Android Automotive OS

Diposting oleh Madan Ankapura, Product Manager

Hari ini kami mengumumkan ketersediaan Car App Library versi 1.2 beta, yang memungkinkan developer aplikasi untuk mulai membangun aplikasi navigasi, parkir, dan pengisian daya bagi Android Automotive OS.

Sekarang, developer bisa mulai membuat dan menguji aplikasi untuk kategori-kategori ini menggunakan emulator Automotive OS di Android Automotive OS dan Android Auto. Untuk melihat semua daftar perubahannya dalam v1.2 beta, lihat catatan rilis. Untuk mulai membuat aplikasi bagi mobil, lihat dokumentasi developer, panduan kualitas mobil, dan panduan desain terbaru kami.

Seperti yang diumumkan sebelumnya, pengemudi mobil Polestar 2 dan Volvo sekarang bisa mendownload aplikasi pengisian daya (ChargePoint, PlugShare), parkir (Spothero, Parkwhiz), dan navigasi (Flitsmeister, Sygic) yang dikembangkan menggunakan Car App Library dengan bergabung ke Grup Google dan ikut serta dalam setiap versi beta aplikasi di Google Play store, dengan akun Gmail Anda.

enam ikon aplikasi

Aplikasi Car App Library di Android Automotive OS secara otomatis dirender agar konsisten dengan pengalaman lainnya di mobil, tanpa perlu kerja ekstra dari developer. Sebagai contoh,

Polestar 2
Volvo
Setelan Polestar 2 dengan tombol berlabel On / Off untuk PlugShare

Setelan Polestar 2 dengan tombol berlabel On / Off untuk PlugShare

Setelan Volvo dengan tombol geser untuk PlugShare

Setelan Volvo dengan tombol geser untuk PlugShare

Layar login Polestar 2 untuk SpotHero

Layar login Polestar 2 untuk SpotHero

Layar login Volvo untuk SpotHero

Layar login Volvo untuk SpotHero

Contoh kustomisasi aplikasi di Android Automotive OS

Coba sendiri bagaimana aplikasi Anda terlihat dalam sistem yang berbeda, dengan mengakses image sistem emulator OEM yang dapat didownload di Android Studio. Anda bisa mulai mengembangkan aplikasi pengisian daya, parkir, dan navigasi untuk Android Automotive OS hari ini, dan kami akan terus bekerja sehingga Anda dapat memublikasikan aplikasi ke Google Play store dalam beberapa bulan mendatang (ikuti terus perkembangannya!).

Selain navigasi, driver rideshare menghabiskan banyak waktu di kendaraan mereka dan akan mendapatkan manfaat dari interaksi yang lebih aman jika aplikasi tersebut bisa dihadirkan ke layar mobil. Kami bekerja sama dengan Lyft dan Kakao Mobility untuk menghadirkan pengalaman aplikasi pengemudi ke dalam mobil dalam beberapa bulan mendatang.

gambar layar mobil dengan peta gps dan logo Lyft

Kami juga gembira bisa mengumumkan perluasan dukungan untuk semua aplikasi Points of Interest. Selain pengisian daya dan parkir, hal ini memungkinkan aplikasi membantu pengguna menemukan dan menelusuri lokasi menarik di peta, dan secara opsional memungkinkan mereka untuk menuju ke titik tersebut. Kami bermitra dengan MochiMochi, Fuelio, Prezzi Benzina, dan NAVITIME JAPAN sebagai mitra akses awal kami.

Jika Anda tertarik untuk bergabung dengan Program Akses Awal kami di masa mendatang, isilah formulir minat ini. Anda bisa memulai Android for Cars App Library sekarang dengan mengunjungi g.co/androidforcars.


Google for Startups tahun ini membuka program Startup Academy Indonesia, sebuah program bootcamp online intensif selama lima hari untuk startup berbasis teknologi Indonesia yang memiliki potensi tinggi. Program ini dirancang untuk mempercepat pertumbuhan startup Indonesia baik di bidang fintech, edtech, retail, logistik, pertanian, gaming, dan kesehatan dengan memberi mereka akses ke keahlian dan sumber daya terbaik Google.


Selain bimbingan dan dukungan proyek teknis, pelatihan ini juga mencakup workshops, sesi pleno yang berfokus pada pengembangan produk, bisnis, dan kepemimpinan bagi para pendiri. Google for Startups: Startup Academy Indonesia akan diselenggarakan dalam bahasa Inggris dan Bahasa Indonesia, dan menerima peserta dari startup yang berkantor pusat di Indonesia.


Pada tahun 2022, akademi ini akan diselenggarakan dua kali. Cohort pertama yang dilakukan pada bulan April 2022 merupakan early stage startup yang dapat diikuti oleh startup dari  pre-seed ke pre-series A dengan timeline:

  • Pembukaan pendaftaran: 7 Februari 2022

  • Penutupan pendaftaran: 27 Februari 2022

  • Pengumuman peserta: 21 Maret 2022

  • Pelaksanaan bootcamp: 4-8 April 2022


Silakan mendaftar di sini untuk mengikuti Cohort 1 hingga tanggal 27 Februari.