Android性能优化的技巧有哪些
这篇“Android性能优化的技巧有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Android性能优化的技巧有哪些”文章吧。
一、Pinner service 配置优化
修改 /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>
二、关闭 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>
三、默认关闭BT、关闭自动旋转
修改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>
四、默认值使用32为程序
TARGET_ARCH
和 TARGET_ARCH_VARIANT
声明为 32 位架构,同时不要声明TARGET_2ND_ARCH
或者 TARGET_2ND_ARCH_VARIANT
同时配置 zygote
为32-bit:
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.zygote=zygote32
五、AMS 部分的参数调整
修改代码frameworks\base\services\core\java\com\android\server\am\ActivityManagerConstants.java:
调整默认后台最大缓存进程数为 16:
private static final int DEFAULT_MAX_CACHED_PROCESSES = SystemProperties.getInt("ro....s.fw.bg_apps_limit",16);
六、屏幕输出帧率优化
首先保证NUM_FRAMEBUFFER_SURFACE_BUFFERS
值必须为 3
,另外可调整 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;//设置 slop 为 15private static final int MINIMUM_FLING_VELOCITY = 60; //设置为 60
八、文件系统优化
对应低内存设备,建议更改userdata 分区格式为f2fs格式,减小系统开销。
修改方案如下:device\xxx\xxxx_项目\BoardConfig.mk
TARGET_USERIMAGES_USE_F2FS := trueBOARD_USERDATAIMAGE_FILE_SYSTEM_TYPE := f2fs
九、关闭 Dm_verity 功能
对于低内存设备,Google 官方建议关闭 dm_verity 功能。
关闭方法如下:
1.修改 device\xxx\xxxx_项目\xxx_项目.mk
关闭dm_verity
宏开关
PRODUCT_SUPPORTS_VERITY := false //设置为 false
2.kernel 部分
删除dm_verity
宏开关支持。
CONFIG_DM_VERITY=y //删除这条宏
3.system 分区参数修改
在对应 system 分区挂载的参数去掉 verify 属性,例如:
/dev/block/bootdevice/by-name/system /system ext4 ro,barrier=1 wait,verify //去掉verify属 性
分区的挂载一般是在 fstab.qcom 中实现。
8909go 的项目需要单独在 kernel 对应的 dtsi 文件中对应的分区删除 verify 属性,修改后的内
容如下:
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";};
十、优化 Touch boost 功能
对于 SmartPhone 可以开启 Touch boost,提升应用启动速度,开启方法如下:
修改kernel/msm-4.4/drivers/cpufreq/cpu-boost.c
代码
相关变量如下:
/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 中添加以下内容:
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性能优化的技巧有哪些”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341