這篇“Android性能優(yōu)化的技巧有哪些”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“Android性能優(yōu)化的技巧有哪些”文章吧。
成都創(chuàng)新互聯(lián)公司成都網(wǎng)站建設(shè)按需定制制作,是成都網(wǎng)站推廣公司,為iso認(rèn)證提供網(wǎng)站建設(shè)服務(wù),有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設(shè)計(jì)服務(wù):原型圖制作、網(wǎng)站創(chuàng)意設(shè)計(jì)、前端HTML5制作、后臺(tái)程序開(kāi)發(fā)等。成都網(wǎng)站營(yíng)銷推廣熱線:028-86922220修改 /frameworks/base/core/res/res/values/config.xml
添加如下代碼:
... ... ... ... - "/system/framework/arm/boot-framework.art"
- "/system/lib/libjavacrypto.so"
- "/system/lib/libhidltransport.so"
- "/system/framework/arm/boot-core-libart.oat"
- "/system/framework/arm/boot-conscrypt.oat"
- "/system/framework/arm/boot-core-libart.art"
- "/system/framework/arm/boot-ext.art"
- "/system/framework/arm/boot.art"
- "/system/framework/arm/boot-framework.art"
修改 frameworks/base/core/res/res/values/config.xml
false 64
修改frameworks/base/packages/SettingsProvider/res/values/defaults.xml
... ... false false ... ...
TARGET_ARCH
和 TARGET_ARCH_VARIANT
聲明為 32 位架構(gòu),同時(shí)不要聲明TARGET_2ND_ARCH
或者 TARGET_2ND_ARCH_VARIANT
同時(shí)配置 zygote
為32-bit:
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.zygote=zygote32
修改代碼frameworks\base\services\core\java\com\android\server\am\ActivityManagerConstants.java:
調(diào)整默認(rèn)后臺(tái)大緩存進(jìn)程數(shù)為 16:
private static final int DEFAULT_MAX_CACHED_PROCESSES = SystemProperties.getInt("ro....s.fw.bg_apps_limit",16);
首先保證NUM_FRAMEBUFFER_SURFACE_BUFFERS
值必須為 3
,另外可調(diào)整 SurfaceFlinger buffer size
,例如:
修改frameworks\native\services\surfaceflinger\Layer.cpp
文件
將 mProducer->setMaxDequeuedBufferCount(2); 更改為 mProducer->setMaxDequeuedBufferCount(3)
修改 Framework 下的view config 信息,具體代碼路徑為frameworks\base\core\java\android\view\ ViewConfiguration.java
修改方案如下:
private static final int TOUCH_SLOP = 15;//設(shè)置 slop 為 15private static final int MINIMUM_FLING_VELOCITY = 60; //設(shè)置為 60
對(duì)應(yīng)低內(nèi)存設(shè)備,建議更改userdata 分區(qū)格式為f2fs格式,減小系統(tǒng)開(kāi)銷。
修改方案如下:device\xxx\xxxx_項(xiàng)目\BoardConfig.mk
TARGET_USERIMAGES_USE_F2FS := trueBOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
對(duì)于低內(nèi)存設(shè)備,Google 官方建議關(guān)閉 dm_verity 功能。
關(guān)閉方法如下:
device\xxx\xxxx_項(xiàng)目\xxx_項(xiàng)目.mk
關(guān)閉dm_verity
宏開(kāi)關(guān)
PRODUCT_SUPPORTS_VERITY := false //設(shè)置為 false
刪除dm_verity
宏開(kāi)關(guān)支持。
CONFIG_DM_VERITY=y //刪除這條宏
在對(duì)應(yīng) system 分區(qū)掛載的參數(shù)去掉 verify 屬性,例如:
/dev/block/bootdevice/by-name/system /system ext4 ro,barrier=1 wait,verify //去掉verify屬 性
分區(qū)的掛載一般是在 fstab.qcom 中實(shí)現(xiàn)。
8909go 的項(xiàng)目需要單獨(dú)在 kernel 對(duì)應(yīng)的 dtsi 文件中對(duì)應(yīng)的分區(qū)刪除 verify 屬性,修改后的內(nèi)
容如下:
system { compatible = "android,system"; dev = "/dev/block/platform/soc/7824900.sdhci/by-name/system";type = "ext4"; mnt_flags = "ro,barrier=1"; fsmgr_flags = "wait"; status = "ok"; };
對(duì)于 SmartPhone 可以開(kāi)啟 Touch boost,提升應(yīng)用啟動(dòng)速度,開(kāi)啟方法如下:
修改kernel/msm-4.4/drivers/cpufreq/cpu-boost.c
代碼
相關(guān)變量如下:
/sys/module/cpu_boost/parameters/input_boost_freq /sys/module/cpu_boost/parameters/input_boost_ms /sys/module/cpu_boost/parameters/sched_boost_on_input
開(kāi)啟方法如下:
kernel config: CONFIG_CPU_BOOST=y defconfig file: kernel/msm-4.4/arch/arm64/configs/xxx_defconfig
echo 0:1747200 1:1747200 2:1747200 3:1747200 4:1747200 5:1747200 6:1747200 7:1747200 > /sys/module/cpu_boost/parameters/input_boost_freq
以上就是關(guān)于“Android性能優(yōu)化的技巧有哪些”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。