blob: e35bf30d1488ade3359536f9270ca11199f1f2a5 [file] [log] [blame]
Mathieu Chartier72676762017-10-15 20:07:19 -07001#
2# Copyright (C) 2017 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17# Sets Android Go recommended default values for propreties.
18
19# Set lowram options
20PRODUCT_PROPERTY_OVERRIDES += \
21 ro.config.low_ram=true \
22 ro.lmk.critical_upgrade=true \
Suren Baghdasaryandf100642017-12-22 13:32:35 -080023 ro.lmk.upgrade_pressure=40 \
24 ro.lmk.downgrade_pressure=60 \
Yao Chenb76f3552018-06-06 17:22:57 -070025 ro.lmk.kill_heaviest_task=false \
26 ro.statsd.enable=false
Mathieu Chartier72676762017-10-15 20:07:19 -070027
28# set threshold to filter unused apps
29PRODUCT_PROPERTY_OVERRIDES += \
30 pm.dexopt.downgrade_after_inactive_days=10
31
32
33# Speed profile services and wifi-service to reduce RAM and storage.
34PRODUCT_SYSTEM_SERVER_COMPILER_FILTER := speed-profile
35
36# Always preopt extracted APKs to prevent extracting out of the APK for gms
37# modules.
38PRODUCT_ALWAYS_PREOPT_EXTRACTED_APK := true
39
40# Use a profile based boot image for this device. Note that this is currently a
41# generic profile and not Android Go optimized.
42PRODUCT_USE_PROFILE_FOR_BOOT_IMAGE := true
43PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION := frameworks/base/config/boot-image-profile.txt
44
45# set the compiler filter for shared apks to quicken.
46# Rationale: speed has a lot of dex code expansion, it uses more ram and space
47# compared to quicken. Using quicken for shared APKs on Go devices may save RAM.
48# Note that this is a trade-off: here we trade clean pages for dirty pages,
49# extra cpu and battery. That's because the quicken files will be jit-ed in all
50# the processes that load of shared apk and the code cache is not shared.
51# Some notable apps that will be affected by this are gms and chrome.
52# b/65591595.
53PRODUCT_PROPERTY_OVERRIDES += \
54 pm.dexopt.shared=quicken
55
56# Default heap sizes. Allow up to 256m for large heaps to make sure a single app
57# doesn't take all of the RAM.
58PRODUCT_PROPERTY_OVERRIDES += dalvik.vm.heapgrowthlimit=128m
59PRODUCT_PROPERTY_OVERRIDES += dalvik.vm.heapsize=256m
60
Andreas Gampe6bb27432017-10-19 11:42:44 -070061# Do not generate libartd.
62PRODUCT_ART_TARGET_INCLUDE_DEBUG_BUILD := false
Mathieu Chartier99b27392017-10-24 14:12:58 -070063
Remi NGUYEN VANa3298102018-11-22 18:13:20 +090064# Do not spin up a separate process for the network stack on go devices, use an in-process lib.
65PRODUCT_PACKAGES += NetworkStackLib
66PRODUCT_SYSTEM_SERVER_JARS += NetworkStackLib
67
Mathieu Chartier99b27392017-10-24 14:12:58 -070068# Strip the local variable table and the local variable type table to reduce
69# the size of the system image. This has no bearing on stack traces, but will
70# leave less information available via JDWP.
71PRODUCT_MINIMIZE_JAVA_DEBUG_INFO := true
Kostya Kortchinsky02732402019-02-01 09:06:42 -080072
73# Disable Scudo outside of eng builds to save RAM.
74ifneq (,$(filter eng, $(TARGET_BUILD_VARIANT)))
75 PRODUCT_DISABLE_SCUDO := true
76endif