इस पेज पर, Android के लिए बिल्ड की परफ़ॉर्मेंस को ऑप्टिमाइज़ करने की जानकारी दी गई है ऐप्लिकेशन को खास तौर पर डाउनलोड किया जा सकता है. Baज़ल के साथ, बिल्ड की परफ़ॉर्मेंस को बेहतर बनाने के बारे में जानने के लिए, देखें परफ़ॉर्मेंस ऑप्टिमाइज़ करना.
सुझाए गए फ़्लैग
झंडे
bazelrc
कॉन्फ़िगरेशन सिंटैक्स, इसलिए
उन्हें सीधे किसी bazelrc
फ़ाइल में चिपकाया जा सकता है और
--config=<configuration_name>
.
परफ़ॉर्मेंस बेहतर करना
Bazz, डिफ़ॉल्ट रूप से
बेज़ल के आउटपुट बेस में command.profile.gz
.
इसके लिए JSON प्रोफ़ाइल दस्तावेज़ देखें
उस प्रोफ़ाइल को कैसे पढ़ें और उससे कैसे इंटरैक्ट करें.
Android बिल्ड ऐक्शन के लिए स्थायी वर्कर.
Android बिल्ड ऐक्शन के एक सबसेट में यह सुविधा काम करती है स्थायी कर्मचारी.
ये कार्रवाइयां' याद रखने के तरीके:
- DexBuilder
- जावैक
- डिसुगर
- AaptPackage
- AndroidResourceParser
- AndroidResourceValidator
- AndroidResourceCompiler
- RClassGenerator
- AndroidResourceLink
- AndroidAapt2
- AndroidAssetMerger
- AndroidResourceMerger
- AndroidCompiledResourceMerger
कर्मचारियों को अनुमति देने से, वे जेवीएम पर बचत कर सकते हैं और बेहतर परफ़ॉर्म कर सकते हैं इनमें से प्रत्येक टूल को लागू करने से शुरू होने वाली स्टार्टअप लागत आती है, लेकिन मेमोरी के इस्तेमाल को प्रोसेस करता है.
कर्मचारियों को इन कार्रवाइयों के लिए सक्षम करने के लिए, इन फ़्लैग को इसके साथ लागू करें
--config=android_workers
:
build:android_workers --strategy=DexBuilder=worker
build:android_workers --strategy=Javac=worker
build:android_workers --strategy=Desugar=worker
# A wrapper flag for these resource processing actions:
# - AndroidResourceParser
# - AndroidResourceValidator
# - AndroidResourceCompiler
# - RClassGenerator
# - AndroidResourceLink
# - AndroidAapt2
# - AndroidAssetMerger
# - AndroidResourceMerger
# - AndroidCompiledResourceMerger
build:android_workers --persistent_android_resource_processor
हर कार्रवाई के हिसाब से लगातार काम करने वाले कर्मचारियों की डिफ़ॉल्ट संख्या 4
है. हमारे पास
बेहतर बिल्ड परफ़ॉर्मेंस के बारे में पता लगाया गया
हर कार्रवाई के लिए इंस्टेंस की संख्या को 1
या 2
तक सीमित करके
बैज, सिस्टम पर चल रहे सिस्टम के हिसाब से अलग-अलग हो सकता है. साथ ही, यह भी हो सकता है कि प्रोजेक्ट
बनाया.
किसी कार्रवाई के इंस्टेंस की संख्या सीमित करने के लिए, ये फ़्लैग लागू करें:
build:android_workers --worker_max_instances=DexBuilder=2
build:android_workers --worker_max_instances=Javac=2
build:android_workers --worker_max_instances=Desugar=2
build:android_workers --worker_max_instances=AaptPackage=2
# .. and so on for each action you're interested in.
AAPT2 का इस्तेमाल करना
aapt2
बेहतर हो गया है
परफ़ॉर्मेंस को aapt
से ज़्यादा लेवल पर सेट करने के साथ-साथ छोटे साइज़ के APK भी तैयार करता है. aapt2
का इस्तेमाल करने के लिए,
--android_aapt=aapt2
चालू करें या aapt_version
पर aapt2
को फ़्लैग करें
android_binary
और android_local_test
.
एसएसडी ऑप्टिमाइज़ेशन
--experimental_multi_threaded_digest
फ़्लैग की मदद से, डाइजेस्ट को ऑप्टिमाइज़ किया जा सकता है
एसएसडी पर कंप्यूटेशन (कंप्यूटेशन) करता है.