From 0a0e5ea5338db8103eec54ae7bdf9b58f8f7a93f Mon Sep 17 00:00:00 2001 From: Mathieu Chartier Date: Tue, 3 Oct 2017 13:05:20 -0700 Subject: [PATCH] Add Android Go defaults make file Go devices should inherit this file to provide good default settings for providing the best experience on Android Go devices. Bug: 67374015 Test: make and flash Change-Id: I55f22735c70f69309ec77e5c3055e6747546c79a --- target/product/go_defaults.mk | 57 +++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 target/product/go_defaults.mk diff --git a/target/product/go_defaults.mk b/target/product/go_defaults.mk new file mode 100644 index 000000000..fbb95677f --- /dev/null +++ b/target/product/go_defaults.mk @@ -0,0 +1,57 @@ +# +# Copyright (C) 2017 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# Sets Android Go recommended default values for propreties. + +# Set lowram options +PRODUCT_PROPERTY_OVERRIDES += \ + ro.config.low_ram=true \ + ro.lmk.critical_upgrade=true \ + ro.lmk.upgrade_pressure=40 + +# set threshold to filter unused apps +PRODUCT_PROPERTY_OVERRIDES += \ + pm.dexopt.downgrade_after_inactive_days=10 + + +# Speed profile services and wifi-service to reduce RAM and storage. +PRODUCT_SYSTEM_SERVER_COMPILER_FILTER := speed-profile + +# Always preopt extracted APKs to prevent extracting out of the APK for gms +# modules. +PRODUCT_ALWAYS_PREOPT_EXTRACTED_APK := true + +# Use a profile based boot image for this device. Note that this is currently a +# generic profile and not Android Go optimized. +PRODUCT_USE_PROFILE_FOR_BOOT_IMAGE := true +PRODUCT_DEX_PREOPT_BOOT_IMAGE_PROFILE_LOCATION := frameworks/base/config/boot-image-profile.txt + +# set the compiler filter for shared apks to quicken. +# Rationale: speed has a lot of dex code expansion, it uses more ram and space +# compared to quicken. Using quicken for shared APKs on Go devices may save RAM. +# Note that this is a trade-off: here we trade clean pages for dirty pages, +# extra cpu and battery. That's because the quicken files will be jit-ed in all +# the processes that load of shared apk and the code cache is not shared. +# Some notable apps that will be affected by this are gms and chrome. +# b/65591595. +PRODUCT_PROPERTY_OVERRIDES += \ + pm.dexopt.shared=quicken + +# Default heap sizes. Allow up to 256m for large heaps to make sure a single app +# doesn't take all of the RAM. +PRODUCT_PROPERTY_OVERRIDES += dalvik.vm.heapgrowthlimit=128m +PRODUCT_PROPERTY_OVERRIDES += dalvik.vm.heapsize=256m +