文章目录
-
Android 开机加速优化
- 关闭BootLoader的企鹅
- 关闭开机动画Android
- 关闭锁屏
-
删除预装APP
- 查看预装APP
- 删除编译生成的APK
-
不编译APK
- 1. 统一配置
- 2. 修改单个APK的
- 谷歌APP
- 高通APP
- 关闭系统服务
- 修改LOG打印级别
- 并发加载class和resource等资源
- readahead机制预加载
-
测试
- 1. 关闭系统服务
- 2. 显示
- 3. 删除预装APP
- 4. 其它
关闭BootLoader的企鹅
# kernel/msm-4.9/arch/arm64/configs/msm8953_defconfig
# kernel/msm-4.9/arch/arm64/configs/msm8953-perf_defconfig
CONFIG_FRAMEBUFFER_CONSOLE、CONFIG_LOGO
第一个编译选项表示内核支持帧缓冲区控制台,它对应的配置菜单项为:
Device Drivers —> Graphics support —> Console display driver support —> Framebuffer Console support。
第二个编译选项表示内核在启动的过程中,需要显示LOGO,它对应的配置菜单项为:
Device Drivers —> Graphics support —> Bootup logo。
内核源码:
/kernel/goldfish/drivers/video/
/kernel/goldfish/drivers/video/logo/
注意:默认没开启企鹅图标
关闭开机动画Android
# system/core/rootdir/
# cat frameworks/base/cmds/bootanimation/
service bootanim /system/bin/bootanimation
class core animation
user graphics
group graphics audio
disabled
oneshot
writepid /dev/stune/top-app/tasks
关闭服务
# setprop 0
# start bootanim
注意:没起作用,还是有明暗变化的Android logo
修改:
# vi frameworks/base/cmds/bootanimation/bootanimation_main.cpp
直接注释main()方法的内容
不显示Android logo,但是没有看到明显的改善
关闭锁屏
# frameworks/base/packages/SettingsProvider/res/values/
<bool name="def_lockscreen_disabled">true</bool>
删除预装APP
查看预装APP
adb shell pm list packages >
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:android
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:.launcher3
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:.presenceappSub2
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
package:
删除编译生成的APK
# test
rm -rf out/target/product/msm8953_64/vendor/app/QSensorTest/
rm -rf out/target/product/msm8953_64/system/app/EmbmsTestApp/
rm -rf out/target/product/msm8953_64/system/app/ModemTestMode/
# bluetooth
rm -rf out/target/product/msm8953_64/system/app/BluetoothExt/
rm -rf out/target/product/msm8953_64/system/priv-app/BATestApp/
rm -rf out/target/product/msm8953_64/system/app/BTTestApp/
rm -rf out/target/product/msm8953_64/system/app/HidTestApp/
# web
rm -rf out/target/product/msm8953_64/system/app/webview/
rm -rf out/target/product/msm8953_64/system/app/HTMLViewer/
不编译APK
1. 统一配置
去除选项
# build/make/target/product/
# device/qcom/common/
2. 修改单个APK的
把
LOCAL_MODULE_TAGS := debug # 在debug模式下编译,改成不是debug模式,就不会编译
改成
LOCAL_MODULE_TAGS := samples
# 跳过
LOCAL_OVERRIDES_PACKAGES := APP Name
谷歌APP
# 删除APK
Browser2 # 浏览器
Calendar # 日历
Email # 邮件
ExactCalculator # 精确计算器
PrintSpooler # 打印
QuickSearchBox # 谷歌搜索
vi device/qcom/common/
vi build/make/target/product/
高通APP
# 查找APK
find out/target/product/msm8953_64/system/app/ -name ""
# 查找mk文件
find . -type f -name \*.mk | xargs grep TestApp -in
find . -type f -name \*.mk | xargs grep BATestApp -in
find . -type f -name \*.mk | xargs grep QSensorTest -in
find . -type f -name \*.mk | xargs grep EmbmsTestApp -in
#
cat vendor/qcom/opensource/commonsys/bluetooth/hidtestapp/
cat vendor/qcom/opensource/commonsys/bluetooth/bttestapp/
cat vendor/qcom/opensource/commonsys/bluetooth_ext/BATestApp/
# cat vendor/qcom/proprietary/prebuilt_HY11/target/product/msm8953_64/
vendor/qcom/proprietary/sensors/QSensorTest/
# vi vendor/qcom/proprietary/common/config/
# vi vendor/qcom/proprietary/prebuilt_HY11/target/product/msm8953_64/
改成simples
关闭系统服务
# frameworks/base/services/java/com/android/server/
关闭服务
VibratorService 震动器服务
ClipboardService 粘贴板服务
FingerprintService 指纹
其他服务:
PowerManagerService 电源管理服务
BatteryService 电池服务,当电量不足时发广播
AlarmManagerService 闹钟服务
WallpaperManagerService 壁纸管理服务
StatusBarManagerService 状态栏管理服务
注意:电源服务无法关闭
修改LOG打印级别
并发加载class和resource等资源
# frameworks/base/core/java/com/android/internal/os/
Thread t1 = new Thread(new Runnable() {
@Override public void run()
{
long startTimeThread = ();
("PreloadResources");
preloadResources();
(); // PreloadResources
(TAG, "thread:" + (() - startTimeThread) + "ms.");
}
});
();
//wait Thread complete.
try
{
();
}
catch (InterruptedException e)
{
();
}
注意:
- 失败,不能创建线程,错误提示:: Cannot create threads in zygote
- 这里总共耗时2.5s左右
readahead机制预加载
测试
1. 关闭系统服务
操作 | 说明 | 备注 |
---|---|---|
关闭系统服务 | VibratorService 震动器服务 FingerprintService 指纹服务 ClipboardService 粘贴板服务 |
其他服务: AlarmManagerService 闹钟服务 WallpaperManagerService 壁纸管理服务 StatusBarManagerService 状态栏管理服务 |
2. 显示
操作 | 说明 | 备注 |
---|---|---|
关闭开机动画 | 企鹅LOGO 高通LOGO Android LOGO |
OK |
开机显示自定义静态LOGO | OK | |
隐藏状态栏 | 下拉显示 | OK |
隐藏三大按钮 | 上拉显示 | OK |
删除谷歌搜索栏 | OK | |
关闭电量显示和电量的监听 | OK | |
开机不显示No SIM card 提示 | OK | |
屏幕不休眠 | OK | |
系统中文显示 | OK | |
默认开启以太网 | OK |
3. 删除预装APP
操作 | 说明 | 备注 |
---|---|---|
删除谷歌APP | 浏览器 计算器 计算器 邮箱 打印 搜索 |
OK |
删除高通APP | 蓝牙 蓝牙 蓝牙 蓝牙 QSensorTest EmbmsTestApp |
OK |
4. 其它
操作 | 说明 | 备注 |
---|---|---|
修改LOG打印级别 | 4 4 1 4 | OK |
开机显示自定义动画LOGO |