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 系统性能优化相关推荐
- 那些年,我们一起经历过的 Android 系统性能优化
Android 系统性能优化,最近几年 ,Google 之外,绝对是中国的手机厂商参与得最深最广.不光深挖系统.场景,还要和 Top 应用合作优化,和各种流氓应用勾心斗角.同时 Google 也在不断 ...
- 【书评】一本Android系统性能优化的新书
Android性能优化,是一个合格的Android程序员必备的技能,现如今几乎所有的Android面试内容都会或多或少涉及性能优化方面的话题. 学习Android性能优化可以让我们在简历上展示自己的专 ...
- Android 系统性能优化(55)---Android 性能优化之内存优化
Android 性能优化之内存优化 前言 Android App优化这个问题,我相信是Android开发者一个永恒的话题.本篇文章也不例外,也是来讲解一下Android内存优化.那么本篇文章有什么不同 ...
- Android系统性能优化(54)---Android性能分析专题
Android性能分析专题 1. 背景:Android App优化, 要怎么做? 2. Android App优化之性能分析工具 3. Android App优化之提升你的App启动速度之理论基 ...
- Android 系统性能优化(82)---Android性能优化:手把手带你全面实现内存优化
Android性能优化:手把手带你全面实现内存优化 在 Android开发中,性能优化策略十分重要 本文主要讲解性能优化中的内存优化,希望你们会喜欢 目录 示意图 1. 定义 优化处理 应用程序的内存 ...
- Android 系统性能优化(81)---Android后台优化系列-background optimization-初识低耗电模式
Android后台优化系列-background optimization-初识低耗电模式 〇. 序 当我们手机屏幕电量的时候,我们或在游戏,或在看视频,或在上网,屏幕是一个很耗电的组件,在电量消耗方 ...
- Android 系统性能优化(80)---Android性能优化:这是一份详细的布局优化 指南(含lt;includegt;、lt;Viewstubgt;、lt;mergegt;)
Android性能优化:这是一份详细的布局优化 指南(含<include>.<Viewstub>.<merge>) 前言 在 Android开发中,性能优化策略十分 ...
- Android 系统性能优化(78)---如何优化您的 Android 应用 (Go 版)
如何优化您的 Android 应用 (Go 版) 在去年的 Google I/O 大会上发布了 Android (Go 版),其目标是为全球入门级设备提供高质量的智能手机体验.在今年早些时候,6 家原 ...
- Android系统性能优化(73)---总结
Android性能优化来龙去脉总结 一款app除了要有令人惊叹的功能和令人发指交互之外,在性能上也应该追求丝滑的要求,这样才能更好地提高用户体验. 以下是本人在工作中对经历过的性能优化的一些总结,依据 ...
- Android系统性能优化(71)---关于Bitmap图片资源优化的小事
Android性能优化:那些关于Bitmap图片资源优化的小事 前言 在 Android开发中,性能优化策略十分重要 本文主要讲解性能优化中的Bitmap 使用优化,希望你们会喜欢 目录 1. 优化原 ...
最新文章
- ubuntu安装thrift
- 帧编码 场编码_去年,我帮助举办了40场编码活动。 这是我学到的。
- Typesetting Engine_ Presto
- KV数据存储:持久化
- BurpSuite的使用总结
- 小s结尾与大S结尾的汇编语言差异
- 微服务治理实践:服务契约
- 【转】使用PowerApps快速构建基于主题的轻业务应用 —— 入门篇
- (王道408考研操作系统)第五章输入/输出(I/O)管理-第一节4:I/O软件层次结构
- mongodb远程连接windows
- markdown语法中一些数学符号怎么打
- Android Button设置
- 关于VMware无法输入许可证密钥的方法
- linux中的命令ls -1,Linux常用命令 ls 入门基础知识
- 程序员工资真的很高么,月入几万的难道不是吹牛?
- Day 2: 数据类型的使用,字符编码
- 时间格式处理获取本年份的起止时间
- 雷达导论PART-III.3 电子扫描阵列天线 2020-04-11
- HEVC代码学习19:MV、MVD、MVP概念解析
- javascript与生活:papago行车记录仪播放器golife无卫星图修复方法
热门文章
- 数学基础(矢量, 向量,矩阵,相等,加法,乘法)
- 用python画微笑脸表情_“裂开了,苦涩了,翻白眼”!我用Python画出微信新出的表情包...
- ng-alain php,基于阿里出得ng-Alain搭建后台管理系统
- 05如何处理类别特征?
- 国际清算银行:多国央行进行CBDC研究 仅少数推出具体计划
- 不必急于吹响裁判哨:“安卓禁令”后华为手机的变数与新机
- 安卓开发中的 “Android高手” ,需要具备哪些技术?
- java 时区-东八区
- 被关在寝室的某个下午
- cadcene17.4改背景颜色