溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Android性能優(yōu)化的技巧有哪些

發(fā)布時(shí)間:2022-01-12 11:13:38 來源:億速云 閱讀:174 作者:iii 欄目:移動(dòng)開發(fā)

這篇“Android性能優(yōu)化的技巧有哪些”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Android性能優(yōu)化的技巧有哪些”文章吧。

一、Pinner service 配置優(yōu)化

修改 /frameworks/base/core/res/res/values/config.xml
添加如下代碼:

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">... ...   <!-- Default files to pin via Pinner Service -->
    <string-array translatable="false" name="config_defaultPinnerServiceFiles">
     <item>"/system/framework/arm/boot-framework.art"</item>
     <item>"/system/lib/libjavacrypto.so"</item>
     <item>"/system/lib/libhidltransport.so"</item>
     <item>"/system/framework/arm/boot-core-libart.oat"</item>
     <item>"/system/framework/arm/boot-conscrypt.oat"</item>
     <item>"/system/framework/arm/boot-core-libart.art"</item>
     <item>"/system/framework/arm/boot-ext.art"</item>
     <item>"/system/framework/arm/boot.art"</item>
     <item>"/system/framework/arm/boot-framework.art"</item>
    </string-array>... ... </resources>

二、關(guān)閉 WIFI Debugging

修改 frameworks/base/core/res/res/values/config.xml

<bool translatable="false" name="config_wifi_enable_wifi_firmware_debugging">false</bool><integer translatable="false" name="config_wifi_logger_ring_buffer_verbose_size_limit_kb">64</integer>

三、默認(rèn)關(guān)閉BT、關(guān)閉自動(dòng)旋轉(zhuǎn)

修改frameworks/base/packages/SettingsProvider/res/values/defaults.xml

 <?xml version="1.0" encoding="utf-8"?>
 <resources>
 ... ... 
 <bool name="def_bluetooth_on">false</bool>
 <!-- Do not enable auto rotation switching. -->
 <bool name="def_accelerometer_rotation">false</bool>
 ... ... </resources>

四、默認(rèn)值使用32為程序

TARGET_ARCH 和 TARGET_ARCH_VARIANT 聲明為 32 位架構(gòu),同時(shí)不要聲明
TARGET_2ND_ARCH或者 TARGET_2ND_ARCH_VARIANT
同時(shí)配置 zygote32-bit:

 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.zygote=zygote32

五、AMS 部分的參數(shù)調(diào)整

修改代碼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);

六、屏幕輸出幀率優(yōu)化

首先保證NUM_FRAMEBUFFER_SURFACE_BUFFERS 值必須為 3,另外可調(diào)整 SurfaceFlinger buffer size,例如:
修改frameworks\native\services\surfaceflinger\Layer.cpp文件

將
mProducer->setMaxDequeuedBufferCount(2);
更改為
mProducer->setMaxDequeuedBufferCount(3)

七、滑動(dòng)幀速率低問題優(yōu)化方案

修改 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

八、文件系統(tǒng)優(yōu)化

對應(yīng)低內(nèi)存設(shè)備,建議更改userdata 分區(qū)格式為f2fs格式,減小系統(tǒng)開銷。
修改方案如下:
device\xxx\xxxx_項(xiàng)目\BoardConfig.mk

TARGET_USERIMAGES_USE_F2FS := trueBOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs

九、關(guān)閉 Dm_verity 功能

對于低內(nèi)存設(shè)備,Google 官方建議關(guān)閉 dm_verity 功能。
關(guān)閉方法如下:

1.修改 device\xxx\xxxx_項(xiàng)目\xxx_項(xiàng)目.mk

關(guān)閉dm_verity 宏開關(guān)

PRODUCT_SUPPORTS_VERITY := false //設(shè)置為 false

2.kernel 部分

刪除dm_verity 宏開關(guān)支持。

CONFIG_DM_VERITY=y //刪除這條宏

3.system 分區(qū)參數(shù)修改

在對應(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 對應(yīng)的 dtsi 文件中對應(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";
};

十、優(yōu)化 Touch boost 功能

對于 SmartPhone 可以開啟 Touch boost,提升應(yīng)用啟動(dòng)速度,開啟方法如下:
修改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

開啟方法如下:

1. kernel 部分:

kernel config: CONFIG_CPU_BOOST=y 
defconfig file: kernel/msm-4.4/arch/arm64/configs/xxx_defconfig

2.init.rc 中添加以下內(nèi)容:

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

Android性能優(yōu)化的技巧有哪些

以上就是關(guān)于“Android性能優(yōu)化的技巧有哪些”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI