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.
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.
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.
Pelajari lebih lanjut tentang cara mulai mengoptimalkan aplikasi Anda untuk layar besar.
Diposting oleh Kateryna Semenova, DevRel Engineer; Rahul Ravikumar, Software Engineer; Chris Craik, Software Engineer
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.
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.
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.
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.
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.
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.
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.
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.
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!
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.
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,
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.
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