Kerja nyaman dengan Android Studio


Hari baik untuk semua!


Seberapa produktif Android Studio? Apakah Anda berpikir itu berfungsi dengan baik di PC atau Mac Anda? Atau, kadang-kadang, Anda mengalami keterlambatan atau pertemuan panjang? Dan pada proyek-proyek besar?


Bagaimanapun, kita semua ingin mendapatkan kinerja maksimal dari perangkat keras dan perangkat lunak. Oleh karena itu, saya menyiapkan daftar poin dan tips untuk pemula dan pengembang berpengalaman yang akan membantu Anda bekerja dengan nyaman dengan proyek-proyek besar atau hanya meningkatkan produktivitas. Anda juga akan mengerti apakah peralatan Anda perlu ditingkatkan.


Pengguna IDE populer lainnya juga dapat menemukan sesuatu yang bermanfaat untuk diri mereka sendiri.


Motivasi


Android Studio kikuk kembali pada masa transisi dari Eclipse. Dan sudah sejak saat itu saya mulai mencari cara untuk mengoptimalkan kerja IDE ini. Namun, sebagian besar rekan berhubungan dengan "tidak mungkin". Itu bekerja. Tidak selalu cepat. Dan baiklah.


Tetapi selama satu tahun sekarang saya telah bekerja di perusahaan lain. Iklimnya berbeda, pengembang membaca laporan tentang berbagai teknologi. Di salah satu laporan ini, saya merasa bahwa topik artikel ini sangat diminati. Terutama dalam rangka proyek peningkatan kompleksitas teknis.


Setelah berbicara dengan kolega dan kenalan pengembang, menjadi jelas bagi saya bahwa bahkan tidak semua "pro" mengerti nuansa besi, OS dan IDE. Karena di sini saya mencoba mengumpulkan program pendidikan yang lengkap berdasarkan pengalaman saya sendiri.


DISCLAIMER! Semua model dan merek yang disebutkan dalam artikel ini bukan iklan!


Besi


Inilah yang dikatakan tentang perangkat keras di situs web Android Studio resmi di kolom Persyaratan sistem (tidak termasuk ruang disk):


3 GB RAM minimum, 8 GB RAM recommended; plus 1 GB for the Android Emulator 1280x800 minimum screen resolution 

Ini cukup bagi studio untuk memulai dan bekerja. Kami tidak berbicara tentang kinerja dan kenyamanan.


Dalam bab ini saya akan berbicara tentang jenis perangkat keras apa yang diinginkan untuk pekerjaan yang nyaman dengan proyek-proyek besar dan apa yang bisa menjadi "hambatan" dalam sistem Anda.


Di sini, 5 parameter paling penting bagi kami:


  • Kinerja CPU
  • Jumlah utas perangkat keras CPU
  • Jumlah RAM
  • Kecepatan baca dan tulis acak dari subsistem disk
  • Kecepatan membaca blok kecil dan menulis blok kecil dari subsistem disk

Karena saya sering mengerjakan konfigurasi berdasarkan pada produk Intel, maka kita akan membicarakannya. Namun, jika Anda memiliki AMD, baca saja dan lakukan koreksi untuk teknologi merah serupa. Satu-satunya minus yang saya hadapi pada AMD sudah dijelaskan di Habrรฉ .


Beberapa kata tentang Mac


Diyakini bahwa Mac adalah mesin terbaik untuk pengembangan. Ini sering dikatakan tentang MacBook Pro.


Secara pribadi, saya menganggap ini sebagai mitos. Dengan kemajuan teknologi, NVMe Mac telah kehilangan "keajaiban" -nya. Jadi hari ini, bahkan di antara laptop, Mac bukanlah pemimpin dalam hal harga-kualitas-kinerja. Terutama dalam konteks pengembangan untuk Android Studio.


Kalau tidak, untuk pengembangan yang nyaman, MacBook Pro 2015 atau 2016 tidak memiliki prosesor-U. Baca tentang fitur dan layanan lain di bawah ini.


CPU


Kinerja prosesor jelas dan dapat dimengerti. Semakin tinggi, semakin baik. Satu-satunya hal yang perlu diperhatikan adalah jika Anda memiliki drive yang cukup cepat, prosesor yang lemah akan menjadi hambatan dalam sistem Anda. Terutama penting dalam kasus NVMe-drive. Seringkali, ketika bekerja dengannya, penekanannya justru pada kekuatan CPU.


Dengan utas, segalanya sedikit lebih rumit. Saya membaca bahwa pengguna mengurangi prioritas studio dan subprosesnya sehingga OS tidak "menggantung" selama perakitan. Alasannya di sini adalah 1-2 thread utas. Ini tidak cukup tidak hanya untuk IDE, tetapi juga untuk OS modern. Satu-satunya "tetapi" - dalam praktik saya, ada situasi ketika prosesor-U dual-core dengan Hyper Threading (yaitu, 2 core untuk 4 thread) bekerja secara normal dengan proyek-proyek yang relatif kecil, tetapi pada yang besar masalah di atas dimulai.


Tentu saja, virtualisasi perangkat keras diperlukan.


Oleh karena itu, saya merekomendasikan melihat Core i5 HQ Skylake dengan 4+ stream dan lebih kuat.


RAM


Mengenai standar, DDR3 dan lebih tinggi. Di sini, saya pikir, sudah jelas.


Jika dimungkinkan untuk bekerja dalam mode 2- atau 4-channel dan Anda tidak aktif, saya sangat merekomendasikan menggunakannya, karena Anda bisa mendapatkan peningkatan yang signifikan dalam respon dari IDE. Fitur ini diaktifkan baik dalam pengaturan BIOS \ UEFI atau dengan menginstal modul RAM tambahan (jika Anda masih memiliki satu modul).


Berapa volume yang dibutuhkan? Untuk proyek kecil (sangat kecil), 4GB sudah cukup. Pada proyek yang lebih besar, studio ini dapat dengan cepat menempati memori 4GB dan lebih banyak lagi. Tambahkan emulator HAXM (katakanlah 2 GB) di sini dan perhatikan bahwa OS modern (dengan pengecualian beberapa distribusi Linux) menempati sekitar 2 GB dalam memori - dan sekarang ternyata 8 GB sudah "kembali ke belakang".


Ini tidak memperhitungkan, misalnya, Slack (yang mengambil rata-rata sekitar 500 mb dalam memori) dan Chrome (di mana tagihan pergi ke gigabyte).


Secara umum, dengan 8GB RAM, Anda dapat bekerja dengan cepat dan nyaman - menghemat drive dan swap \ swap file yang cepat. Tapi ada baiknya memikirkan upgrade.


Oleh karena itu, perusahaan membeli yang baru, atau menyediakan pemutakhiran mesin yang berfungsi saat ini untuk RAM 12GB atau lebih.


SSD


Subsistem disk adalah โ€œbottleneckโ€ yang paling sering, oleh karena itu perlu diperhatikan terlebih dahulu.


Bekerja dengan Android Studio pada HDD pada tahun 2018 sebanding dengan siksaan - semakin besar proyek, semakin banyak friez Anda diberikan. Karena itu, jelas, gunakan SSD saja.


Seperti disebutkan di atas, ada dua parameter penting:


  • Kecepatan baca dan tulis acak dari subsistem disk
  • Kecepatan membaca blok kecil dan menulis blok kecil dari subsistem disk

Semakin tinggi mereka, studio akan semakin responsif, dan semakin cepat akan memuat dan berkumpul.


Saya menarik perhatian Anda pada kenyataan bahwa tidak ada pembicaraan tentang kecepatan baca / tulis linear - ini tidak penting untuk studio. Karena itu, ketika memilih drive, Anda tidak perlu melihat kecepatan baca / tulisnya di situs web pabrikan atau toko, tetapi pada jumlah IOPS (semakin banyak, semakin baik).


Tentu saja, di sini kita tidak berbicara tentang Mac, karena drive di sana memiliki standar sendiri atau hanya disolder ke papan tulis. Penggantian dimungkinkan, kecuali untuk volume yang lebih besar. Tidak mungkin untuk meningkatkan karakteristik kecepatan di sini.


NVMe


Jika motherboard Anda mendukung teknologi NVMe , maka lebih baik menggunakan drive dengan dukungannya. Ini memungkinkan Anda untuk mendapatkan kecepatan yang sebanding dengan SSD di Mac dan lebih tinggi.


Jika Anda memiliki drive cepat, fokusnya ada pada bus PCIe dan kekuatan CPU Anda. Oleh karena itu, jika, misalnya, motherboard Anda mendukung output ke drive PCIe 2.0x4 \ 3.0x2 atau Anda tidak memiliki CPU yang sangat kuat, Anda tidak boleh membeli drive yang sangat mahal. Lihatlah kemampuan sistem Anda dan ketebalan dompet Anda.


SATA3


Ya, SATA3 lebih hidup dari semua yang hidup. Dan Anda dapat dengan cepat mengerjakannya di studio.


Di segmen ini, drive berkecepatan tinggi lebih terjangkau, jadi masuk akal untuk segera melihat solusi teratas dengan kapasitas 120 GB atau lebih tinggi.


Intel Optane


Saya tidak harus menggunakan Android Studio pada mesin dengan drive ini (jika Anda bisa menyebutnya begitu). Jika seseorang memiliki pengalaman, tulis di komentar.


GPU


Tidak perlu banyak bicara.
Jika Anda menulis aplikasi pengguna biasa, sesuatu seperti Intel HD 500 Series sudah cukup untuk studio dan emulator itu sendiri.


Jika Anda mengembangkan game atau ini adalah mesin pribadi Anda, maka grafik diskrit masuk akal. Yang - lihat sesuai dengan kebutuhan Anda.


Sistem pendingin dan pelambatan


Ini bukan tentang peningkatan, tetapi tentang pemeliharaan.


Sebagian besar dari kita tahu fenomena pelambatan . Implementasinya digunakan untuk melindungi terhadap panas berlebih.


Tentu saja, pembatasan menyebabkan penurunan produktivitas. Tidak selalu terlihat. Dalam beberapa kasus, pengoperasian Turbo Boost dikurangi hingga nilai minimum, pada kasus lain, penurunan frekuensi prosesor maksimum dimulai. Alasannya adalah operasi sistem pendingin tidak memadai. Penting juga untuk dipahami bahwa sebagian besar tes stres (seperti AIDA) mendiagnosis operasi Turbo Boost reguler sebagai pelambatan.


Dalam hal PC desktop, semuanya telah online untuk waktu yang lama. Dalam kasus sistem seluler berdasarkan pipa panas, banyak informasi yang saling bertentangan. Ini termasuk sebagian besar laptop, nettop, MacBook, dan iMacs. Selanjutnya, kami akan fokus pada mereka.


Pada CPU mobile yang kuat dan modern, 80-90 derajat pada chip yang di-load adalah norma. Pada saat yang sama, SOC dengan CPU ini memiliki desain chip terbuka, yang membuat area perpindahan panas menjadi kecil. Semua tumpukan panas ini dihilangkan ejekan ini desain serupa dengan sirkuit cairan tertutup kecil.


Sistem pendinginan seluler modern


Harus dipahami bahwa sistem pendingin tersebut mengalami beban lebih besar dan membutuhkan perawatan yang lebih sering. Terutama dalam kasus laptop dan MacBook, ketika diangkut dari getaran, lapisan pasta termal kering lebih cepat runtuh. Dan pemeliharaan sebelum waktunya penuh tidak hanya dengan hilangnya produktivitas, tetapi juga dengan kebocoran termotub dan "kesedihan" kristal.


Perawatan terdiri dari penggantian pasta termal dan pembersihan radiator setiap enam bulan hingga setahun setelah berakhirnya masa garansi. Bagaimanapun, inilah yang kami lakukan.


Karena area kecil kristal, masuk akal untuk menggunakan pasta termal dielektrik dengan konduktivitas termal yang tinggi (biaya sekitar 800-1000 r per gram). Jangan pernah gunakan logam cair! Jika tidak, Anda kemungkinan besar tidak akan dapat memisahkan kristal dari piring!


Jika Anda tidak memiliki keterampilan yang cukup untuk prosedur ini, lebih baik untuk menghubungi layanan.


Pengaturan perangkat keras


Bab ini akan fokus pada fungsi dan pengaturan peralatan. Kemungkinan besar, Anda sudah terbiasa dengannya.


Intel Hyper Threading


Ini adalah teknologi Intel, yang membagi aliran perangkat keras kernel menjadi dua yang "virtual". Berkat dia, sistem melihat prosesor 4-core sebagai prosesor 8-core. Pendekatan ini memungkinkan Anda memanfaatkan daya prosesor secara efektif. AMD memiliki teknologi serupa.


Seringkali saya menemukan fakta bahwa banyak pengembang menonaktifkan fitur ini dan mereka umumnya tidak mengetahuinya. Namun, inklusi dapat meningkatkan daya tanggap studio dan membangun kinerja. Dalam beberapa kasus, sebesar 10-15%.


Menyala di pengaturan BIOS \ UEFI motherboard atau laptop Anda. Suatu item disebut dengan cara yang serupa atau serupa. Jika Anda masih tidak tahu tentang teknologi ini, maka masuk akal untuk memeriksa ketersediaannya dan mengaktifkannya jika ini belum dilakukan.


Intel Turbo Boost


Teknologi terkenal lainnya. Bahkan, itu adalah overclocking jangka pendek otomatis dari CPU dan memberikan peningkatan yang signifikan selama perakitan. Dan, pada saat yang sama, ia memiliki kemampuan untuk memanaskan prosesor seluler ke suhu tidak jauh dari Tjunction .


Oleh karena itu, jika teknologi ini sebelumnya dinonaktifkan, sebelum menyalakannya, disarankan untuk memeriksa status sistem pendingin dan, mungkin, melakukan pemeliharaannya, seperti dijelaskan pada bab sebelumnya.


Itu dapat diaktifkan pada BIOS \ UEFI, dan dalam pengaturan OS.


Intel Rapid Storage


Dukungan untuk motherboard teknologi ini sangat dianjurkan. Rincian lebih lanjut dapat ditemukan di sini .


Saya hanya dapat merekomendasikan memperbarui driver untuk teknologi ini secara tepat waktu ke versi terbaru dari situs web resmi Intel. Bahkan jika produsen laptop Anda menyediakan Anda dengan driver yang lebih tua.


Dalam kasus khusus saya, memperbarui dari versi driver dari produsen ke yang sekarang meningkatkan kecepatan perekaman linear sekitar 30%, dan kecepatan sewenang-wenang sebesar 15%.


Bagaimana cara menginstal dan memperbarui driver IRST di Linux - Saya tidak tahu (dan secara umum, apakah ini mungkin?). Jika ada yang tahu, tulis di komentar, saya akan dengan senang hati melengkapi artikel ini.


SSD Secure Erase


Kinerja model SSD berbiaya rendah dapat menurun seiring waktu. Ini tidak selalu terjadi karena "degradasi" drive. Mungkin dalam model Anda TRIM tidak diimplementasikan dengan sangat efisien.


Secure Erase akan memaksa pengontrol untuk menandai semua sel memori kosong, yang, secara teoritis, akan mengembalikan kinerja SSD ke kondisi pabrik. Dan, juga, hapus semua data Anda! Hati-hati, buat cadangan!


Anda dapat melakukan prosedur menggunakan utilitas milik dari produsen. Jika disk Anda adalah sistem satu, maka Anda akan memerlukan flash drive, yang mana utilitas akan membuat bootable. Ikuti instruksi di bawah ini.


Pada satu tahap, Anda mungkin harus menghubungkan kembali drive secara langsung selama operasi. Oleh karena itu, dalam kasus M.2, keberadaan adaptor sangat diinginkan.


Menggunakan utilitas pihak ketiga untuk operasi ini sangat tidak dianjurkan.


Namun, jika SSD Anda kehilangan kecepatan secara signifikan dalam waktu kurang dari satu tahun, lebih baik mengubah drive ke model lain.


Virtualisasi perangkat keras


Teknologi ini diperlukan untuk pengoperasian cepat emulator x86. Jika Anda menonaktifkannya, aktifkan di pengaturan BIOS \ UEFI. Vendor yang berbeda mungkin memiliki nama pengaturan yang berbeda.


Ya, kita semua tahu tentang Genymotion dan BlueStacks, yang bekerja dengan baik tanpa virtualisasi perangkat keras. Namun, dalam gambar emulator ini, beberapa atau banyak implementasi dari Android API sangat berubah untuk meningkatkan kecepatan kerja. Ini dapat memicu perilaku yang tidak akan pernah Anda temui di perangkat nyata. Atau saat debugging, Anda mungkin kehilangan beberapa bug. Oleh karena itu, kehadiran AVD yang bekerja dan gesit sangat diinginkan.


OS dan perangkat lunak pihak ketiga


Dalam bab ini, kita akan membahas kemungkinan konfigurasi OS dan pemasangan perangkat lunak pihak ketiga untuk meningkatkan produktivitas.


Pengindeksan


Ini tentang menemukan Windows dan Spotlight di Mac OS. Mekanisme ini dapat memakan waktu hingga 15% dari daya CPU selama perakitan karena mereka mencoba mengindeks semua yang dihasilkan di / build.


Tentu saja, dari indeksasi perlu untuk mengecualikan semua direktori tempat studio bekerja:


  • Direktori SDK
  • Direktori Studio
  • Direktori Proyek (sangat disarankan)
  • ~ / .gradle
  • ~ / .android
  • ~ / Android StudioX.X
  • ~ / lldb
  • Direktori cache Kotlin

Antivirus


Saya tahu bahwa tidak semua orang di lingkungan pengembangan memutuskan untuk menggunakan antivirus. Tetapi banyak yang menggunakannya. Termasuk, kadang-kadang, di Linux dan Mac OS. Dan penggunaannya sepenuhnya dibenarkan.


Bahkan jika Anda memiliki Windows 10 dan tidak ada antivirus, Windows Defender menjalankan fungsinya.


Saat merakit antivirus dapat mengambil bagian yang sangat signifikan dari CPU. Oleh karena itu, semua direktori yang tercantum dalam kolom "Pengindeksan" harus ditambahkan ke pengecualian antivirus. Juga, masuk akal untuk menambahkan nama proses studio dan JetBrains JVM ke pengecualian.


Bergantung pada implementasi antivirus, konsumsi CPU selama pembangunan akan menurun secara signifikan, atau akan berhenti mengkonsumsi daya CPU sama sekali. Dan waktu perakitan itu sendiri akan terasa berkurang.


Enkripsi direktori drive atau home


Fungsi-fungsi ini hadir pada semua OS populer atau diimplementasikan oleh perangkat lunak pihak ketiga. Tentu saja, pekerjaan studio dalam ruang file terenkripsi mungkin memerlukan lebih banyak daya CPU. Berapa banyak tergantung pada implementasi enkripsi. Oleh karena itu, disarankan untuk menonaktifkan fungsi-fungsi tersebut sepenuhnya atau, jika mungkin, untuk direktori yang tercantum dalam kolom "Pengindeksan".


Apakah TRIM berfungsi?


TRIM dapat diimplementasikan baik perangkat keras maupun perangkat lunak. Dalam kasus terakhir, tugas untuk memanggil TRIM ada pada OS. Dan, karena berbagai alasan, panggilan berkala dapat terputus, yang menyebabkan penurunan kecepatan drive.


Anda dapat menguji kesehatan dan melanjutkan panggilan TRIM menggunakan utilitas khusus. Dianjurkan untuk menggunakan utilitas dari pabrikan drive.


RAMDisk


Apa itu RAMDisk, kebanyakan sudah lama dikenal. Tetapi seberapa efektif dalam bekerja dengan studio?


Dari pengalaman saya sendiri, saya akan mengatakan tidak begitu banyak. Kecuali Anda mentransfer proyek itu sendiri, SDK, studio, dan seterusnya ke RAMDisk. Jika Anda memiliki RAM yang cukup ...


Dengan transfer sederhana dari proyek yang beratnya lebih dari 500 mb (angka tersebut ditunjukkan dengan build cache), saya tidak dapat mencapai peningkatan lebih dari 15%. Rupanya, panggilan ke SDK dan sistem API melambat. Akibatnya, kenaikan semacam itu cukup mahal.


Metode berikut ini jauh lebih efisien dan jauh lebih murah.


Permintaan Caching Drive


Hal serupa diterapkan di Mac OS. Namun, dibandingkan dengan teknologi yang tercantum di bawah, itu tidak begitu efektif.


Sayangnya, saya hanya tahu dua implementasi, dan keduanya terikat erat pada produk-produk pabrikan. Ini tentang Samsung RAPID dan PlexTurbo .


Kedua teknologi bekerja dengan prinsip yang sama (saya jelaskan saat saya memahami diri saya sendiri):


  • Jika ada permintaan untuk membaca volume kecil, maka mereka ditunda ke RAM dan, ketika dibaca lagi, sudah diambil dari sana. Cache RAM standar.
  • Jika ada permintaan untuk menulis data kecil, mereka ditunda ke cache RAM. Selanjutnya, permintaan tulis dibandingkan dengan cache. Jika Anda menulis ulang data yang sama di jalur yang sama - mengapa merekam ulang dalam perangkat keras? Dan SSD akan hidup lebih lama.

Satu-satunya perbedaan adalah bahwa RAPID menggunakan sisa RAM gratis sebagai cache. Kurang saldo - lebih sedikit ukuran cache, lebih sedikit akselerasi. PlexTurbo memungkinkan Anda membatasi ukuran cache maksimum dan memuatnya dari hard disk saat startup sistem.


Jika digunakan pada SATA 3, Anda bisa mendapatkan peningkatan hingga 50%. Saat menggunakan drive NVMe, ini lebih kecil, tetapi seringkali juga signifikan.


Saat ini, saya sudah mengoperasikan Samsung 860 EVO SATA 3. Di bawah spoiler terdapat tolok ukur dengan i7 6700HQ dan Turbo Boost dinonaktifkan.


860 EVO sebelum menyalakan RAPID dan dua menjalankan sesudahnya

Dengan cepat mati



Jalankan pertama



Jalankan kedua



Anda dapat melihat dengan jelas bagaimana sistem mulai menyimpan data saat dijalankan pertama kali. Hasil akhir secara signifikan lebih tinggi daripada SATA 3. Namun, efektivitas teknologi ini lebih tergantung pada kapasitas CPU. Apa yang terlihat jelas saat Anda menghidupkan Turbo Boost.


860 EVO + RAPID + Turbo Boost


Sintetik tentu saja bagus. Tetapi semuanya bekerja saat membaca / menulis file kecil yang diulang. Dan ini adalah operasi paling umum saat menjalankan Android Studio.


Saat ini saya sedang mengerjakan proyek dengan total cache lebih dari 700 MB, terdiri dari 10 modul. Salah satu modul adalah generator kode berbasis kapt sendiri dengan logika yang sangat berat. Dua modul NDK, salah satunya merujuk pada Peningkatan di jalur eksternal. Sisanya adalah banyak kode Kotlin.


Jika kami membandingkan waktu pembangunan kembali yang lengkap dari proyek ini, hasilnya adalah sebagai berikut:


  • Dengan RAPID dimatikan, waktunya 1m 47s 633ms. Toleran.
  • Dengan diaktifkannya RAPID, pembangunan kembali pertama dilewatkan dalam 1m 41s 633ms. Ditumpuk menjadi kesalahan.
  • Dengan RAPID diaktifkan, pembangunan kembali kedua dilewati dalam 1m 7s 132m. Ini keuntungannya. Sedikit lebih dari 37%, yang signifikan. Rekondisi lebih lanjut menunjukkan waktu yang lebih singkat tetapi dengan perbedaan tidak lebih dari 3-5 detik dari pengukuran terakhir. Yang tidak penting.

Dalam proses yang lebih singkat, pertumbuhan di studio segera terlihat.


Sebagai hasilnya, kami dapat merekomendasikan teknologi dan drive ini sebagai cara yang baik untuk meningkatkan produktivitas. Tidak ada keluhan tentang stabilitas.


Android Studio


Banyak dari tips ini diambil dari sini dan ditambah dengan komentar saya. Sisanya adalah hasil penelitian dan pengalaman saya.


Pembaruan


Saran, meskipun dangkal, selalu relevan. Jika Anda tidak memiliki proyek lawas, maka, jika mungkin, cobalah untuk menjaga versi studio dan komponen terkait (seperti Gradle, Plugin Android, Plugin Kotlin) tetap terbaru. Google dan JetBrains melakukan banyak pekerjaan untuk mengoptimalkan kecepatan dan membangun versi baru.


Terkadang, tentu saja, rasa malu terjadi ketika versi baru berhenti berperilaku terprediksi dan memprovokasi kesalahan. Karena itu, kami memiliki peraturan tentang bagaimana bertindak dalam situasi seperti itu.


Dalam beberapa kasus, Anda perlu melakukan File-> cache tidak valid dan restart setelah rollback. Jika Anda memperbarui studio itu sendiri, lebih baik untuk membackup direktori studio dan direktori pengaturan. Ini benar jika proyek Anda mengandung , .



, , API, library-. . , , .


, . , .


Instant Run


. " ". . -.


, , . . , - , Instant Run.


Build, Execution, Deployment -> Instant Run Enable Instant Run.


Attach to Process


. , ( ) . .


, - Attach debugger to Android process.


Gradle build configs


, buildConfig flavour , release- (, crashlytics, annotation- gradle-)- debug . - , , .


, buildConfig, PNG crunching, - debug-. png . :


 android { buildTypes { myConfig { crunchPngs false } } } //   android plugin android{ aaptOptions { cruncherEnabled false } } 

WebP


minimum api level 18, WebP. , . . , - .



(, app-), Compile independent modules in parallel Settings->Build, Execution, Deployment -> Compiler. CPU . - heap size , , .


gradle.properties


org.gradle.parallel=true


Gradle daemon


- , .


jvm gradle . . - . gradle.properties


org.gradle.daemon=true


Offline-


Gradle web- , . . , - .


Build, Execution, Deployment -> Gradle Offline work.


heap size Android Studio IDEA


. xmx1280m ( , RAM ). GC , , .


heap size , Gradle.


Gradle gradle.properties


org.gradle.jvmargs=-Xms1024m -Xmx4096m


1 4 . , .


Android Studio IDEA Help -> Edit Custom VM Options JVM- .


JVM , - . java -X .


Plugin


, IDE. - . . .


- . Settings -> Plugins , , . , - .


Inspections


Settings -> Editor -> Inspections IDE. .


, . - , .


Power Save mode


File. (, , Spell Checking ..). . , , VS Code.


, .


Settings Repository


, . . .


codestyle- Git, copyright , codestyle .


, , .idea , - .


AVD


AVD . 3 , ( x86-).


, x86- Pie AVD . . , .


, HAXM 2 RAM .


, AVD CPU - , . , CPU - .


- . Settings -> Advanced . , . , Cold Boot. .


AVD


GPU , - GPU, . , . Cold Boot.


Ringkasan


, . .


- . , .

Source: https://habr.com/ru/post/id433604/


All Articles