Android 开机加速优化
Android 开机加速优化
文章目录
- Android 开机加速优化
- 关闭BootLoader的企鹅
- 关闭开机动画Android
- 关闭锁屏
- 删除预装APP
- 查看预装APP
- 删除编译生成的APK
- 不编译APK
- 1. 统一配置
- 2. 修改单个APK的Android.mk
- 谷歌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_defconfigCONFIG_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/init.rc
# cat frameworks/base/cmds/bootanimation/bootanim.rcservice bootanim /system/bin/bootanimationclass core animationuser graphicsgroup graphics audiodisabledoneshotwritepid /dev/stune/top-app/tasks关闭服务
# setprop service.bootanim.exit 0
# start bootanim
注意:没起作用,还是有明暗变化的Android logo修改:
# vi frameworks/base/cmds/bootanimation/bootanimation_main.cpp
直接注释main()方法的内容
不显示Android logo,但是没有看到明显的改善
关闭锁屏
# frameworks/base/packages/SettingsProvider/res/values/defaults.xml
<bool name="def_lockscreen_disabled">true</bool>
删除预装APP
查看预装APP
adb shell pm list packages > all.txt
package:com.android.cts.priv.ctsshim
package:com.qualcomm.qti.qms.service.telemetry
package:com.qualcomm.qti.perfdump
package:com.android.internal.display.cutout.emulation.corner
package:com.android.internal.display.cutout.emulation.double
package:com.android.providers.telephony
package:com.verizon.dmclientupdate
package:com.android.providers.calendar
package:com.android.providers.media
package:com.adups.dmc
package:com.qualcomm.qti.modemtestmode
package:com.android.wallpapercropper
package:com.quicinc.cne.CNEService
package:com.android.protips
package:com.android.documentsui
package:com.android.externalstorage
package:com.qualcomm.uimremoteclient
package:com.android.htmlviewer
package:com.qualcomm.qti.uceShimService
package:com.android.companiondevicemanager
package:com.android.mms.service
package:com.qualcomm.qti.qms.service.connectionsecurity
package:com.android.providers.downloads
package:com.qualcomm.qti.callenhancement
package:com.qualcomm.qti.telephonyservice
package:com.qualcomm.qti.auth.fidocryptoservice
package:com.qualcomm.qti.optinoverlay
package:com.android.soundrecorder
package:com.qualcomm.uimremoteserver
package:com.android.defcontainer
package:com.qti.confuridialer
package:com.android.providers.downloads.ui
package:com.android.pacprocessor
package:com.android.simappdialog
package:com.android.settings.overlay.cmcc
package:com.android.internal.display.cutout.emulation.tall
package:com.android.certinstaller
package:com.android.carrierconfig
package:com.android.mms.overlay.cmcc
package:com.qti.qualcomm.datastatusnotification
package:android
package:com.android.contacts
package:org.codeaurora.gallery
package:com.qualcomm.qti.callfeaturessetting
package:com.qualcomm.wfd.service
package:android.ui.overlay.ct
package:com.qti.qualcomm.deviceinfo
package:com.android.egg
package:com.android.mms
package:com.android.mtp
package:com.android.nfc
package:com.android.stk
package:com.android.launcher3
package:com.android.backupconfirm
package:com.qualcomm.qti.server.wigigapp
package:com.android.provision
package:org.codeaurora.ims
package:com.android.statementservice
package:com.android.settings.intelligence
package:com.android.systemui.theme.dark
package:com.qualcomm.qti.dynamicddsservice
package:com.qualcomm.qcrilmsgtunnel
package:com.android.providers.settings
package:com.android.sharedstoragebackup
package:com.android.dreams.basic
package:com.android.webview
package:com.android.se
package:com.android.inputdevices
package:com.android.bips
package:com.qti.dpmserviceapp
package:com.qti.xdivert
package:com.android.systemui.overlay.cmcc
package:com.android.musicfx
package:com.android.cellbroadcastreceiver
package:android.telephony.overlay.cmcc
package:android.ext.shared
package:com.android.onetimeinitializer
package:com.qualcomm.qti.simsettings
package:com.android.server.telecom
package:com.android.backup
package:com.android.keychain
package:com.qualcomm.qti.presenceappSub2
package:com.android.printservice.recommendation
package:com.android.dialer
package:android.ext.services
package:com.qualcomm.qti.qtisystemservice
package:com.android.calllogbackup
package:com.verizon.dmbrowser
package:com.android.packageinstaller
package:com.android.carrierdefaultapp
package:com.dsi.ant.server
package:com.qualcomm.qti.remoteSimlockAuth
package:com.android.proxyhandler
package:com.cyanogenmod.filemanager
package:com.android.inputmethod.latin
package:com.qualcomm.qti.ltedirect
package:com.android.managedprovisioning
package:com.android.dreams.phototable
package:com.qualcomm.qct.dlt
package:com.android.smspush
package:com.android.wallpaper.livepicker
package:com.example.connmgr
package:com.qualcomm.qti.presenceapp
package:com.android.apps.tag
package:com.android.storagemanager
package:com.android.bookmarkprovider
package:com.android.settings
package:com.qualcomm.qti.ims
package:com.qualcomm.qti.lpa
package:com.qualcomm.qti.sva
package:com.qualcomm.qti.uim
package:com.qualcomm.location
package:com.qualcomm.simcontacts
package:com.android.cts.ctsshim
package:com.android.systemui.overlay.ct
package:com.caf.fmradio
package:com.qti.diagservices
package:com.qualcomm.qti.services.secureui
package:com.android.vpndialogs
package:com.qualcomm.location.XT
package:com.android.music
package:com.android.phone
package:com.android.shell
package:com.android.wallpaperbackup
package:com.android.providers.blockednumber
package:org.codeaurora.snapcam
package:com.android.providers.userdictionary
package:com.android.emergency
package:com.android.location.fused
package:com.android.deskclock
package:com.android.systemui
package:com.android.exchange
package:com.android.bluetoothmidiservice
package:com.qualcomm.qti.confdialer
package:com.qualcomm.qti.poweroffalarm
package:com.qualcomm.qti.networksetting
package:com.android.traceur
package:com.qualcomm.qti.qms.service.trustzoneaccess
package:com.android.bluetooth
package:com.qualcomm.timeservice
package:com.qualcomm.atfwd
package:com.qualcomm.embms
package:com.android.providers.contacts
package:com.android.captiveportallogin
package:org.codeaurora.qti.nrNetworkSettingApp
删除编译生成的APK
# test
rm -rf out/target/product/msm8953_64/vendor/app/QSensorTest/QSensorTest.apk
rm -rf out/target/product/msm8953_64/system/app/EmbmsTestApp/EmbmsTestApp.apk
rm -rf out/target/product/msm8953_64/system/app/ModemTestMode/ModemTestMode.apk# bluetooth
rm -rf out/target/product/msm8953_64/system/app/BluetoothExt/BluetoothExt.apk
rm -rf out/target/product/msm8953_64/system/priv-app/BATestApp/BATestApp.apk
rm -rf out/target/product/msm8953_64/system/app/BTTestApp/BTTestApp.apk
rm -rf out/target/product/msm8953_64/system/app/HidTestApp/HidTestApp.apk# web
rm -rf out/target/product/msm8953_64/system/app/webview/webview.apk
rm -rf out/target/product/msm8953_64/system/app/HTMLViewer/HTMLViewer.apk
不编译APK
1. 统一配置
去除选项
# build/make/target/product/core.mk
# device/qcom/common/base.mk
2. 修改单个APK的Android.mk
把
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/base.mk
vi build/make/target/product/core.mk
高通APP
# 查找APK
find out/target/product/msm8953_64/system/app/ -name "QSensorTest.apk"# 查找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# BluetoothExt.apk
cat vendor/qcom/opensource/commonsys/bluetooth/hidtestapp/Android.mk
cat vendor/qcom/opensource/commonsys/bluetooth/bttestapp/Android.mk
cat vendor/qcom/opensource/commonsys/bluetooth_ext/BATestApp/Android.mk# cat vendor/qcom/proprietary/prebuilt_HY11/target/product/msm8953_64/Android.mkvendor/qcom/proprietary/sensors/QSensorTest/Android.mk# vi vendor/qcom/proprietary/common/config/device-vendor.mk
# vi vendor/qcom/proprietary/prebuilt_HY11/target/product/msm8953_64/prebuilt.mk
改成simples
关闭系统服务
# frameworks/base/services/java/com/android/server/SystemServer.java关闭服务
VibratorService 震动器服务
ClipboardService 粘贴板服务
FingerprintService 指纹其他服务:
PowerManagerService 电源管理服务
BatteryService 电池服务,当电量不足时发广播
AlarmManagerService 闹钟服务
WallpaperManagerService 壁纸管理服务
StatusBarManagerService 状态栏管理服务
注意:电源服务无法关闭
修改LOG打印级别
并发加载class和resource等资源
# frameworks/base/core/java/com/android/internal/os/ZygoteInit.javaThread t1 = new Thread(new Runnable() {@Override public void run(){long startTimeThread = SystemClock.uptimeMillis();bootTimingsTraceLog.traceBegin("PreloadResources");preloadResources();bootTimingsTraceLog.traceEnd(); // PreloadResourcesLog.i(TAG, "thread:" + (SystemClock.uptimeMillis() - startTimeThread) + "ms.");}
});t1.start();//wait Thread complete.
try
{t1.join();
}
catch (InterruptedException e)
{e.printStackTrace();
}
注意:
- 失败,不能创建线程,错误提示:java.lang.InternalError: 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 |
Browser2.apk 浏览器 Calendar.apk 计算器 ExactCalculator.apk 计算器 Email.apk 邮箱 PrintSpooler.apk 打印 QuickSearchBox.apk 搜索 |
OK |
删除高通APP |
BluetoothExt.apk 蓝牙 BATestApp.apk 蓝牙 BTTestApp.apk 蓝牙 HidTestApp.apk 蓝牙 QSensorTest EmbmsTestApp |
OK |
4. 其它
操作 | 说明 | 备注 |
---|---|---|
修改LOG打印级别 | 4 4 1 4 | OK |
开机显示自定义动画LOGO |
作者 [@lhgcs]
2020 年 07月 30日
Android 开机加速优化相关推荐
- 直播代码,Android开机速度优化
直播代码,Android开机速度优化的相关方法和代码 cpu升频和task上大核: on init# boost sched tunewrite /dev/stune/schedtune.prefer ...
- 浅谈Android开机启动速度优化(含应用程序启动速度优化)
众所周知Android开机启动速度较慢,于是如何加快启动速度便成为一个值得讨论的问题. 在查阅过许多资料后(特别是Google Group的android-platform),我整理总结出下面几点基本 ...
- Android开机启动速度优化 app启动速度优化
众所周知Android开机启动速度较慢,于是如何加快启动速度便成为一个值得讨论的问题.在查阅过许多资料后(特别是Google Group的android-platform),我整理总结出下面几点基本看 ...
- android开机优化服务,Android开机速度优化简单回顾
Android的开机速度,基本上没人说快的,通常移植完系统后,马上要看的事情就是优化开机时间,以下是简单回忆以下以前做优化的那些事. 开机时间都花在哪? 优化开机时间,通常做的首先是那有有没有BUG, ...
- Android开机启动性能优化
Android 开机启动速度优化 一 在开机启动中,可以借助bootchart 工具分析android的启动过程.bootchart是一个用于linux启动过程性能分析的开源软件工具,在系统启动过程自 ...
- Rockchip Android平台内存优化及系统裁剪
Rockchip Android平台内存优化及系统裁剪 文章目录 Rockchip Android平台内存优化及系统裁剪 编译32bit的Android系统 启用Android GO的配置 系统裁剪 ...
- android 性能优化---(2) MTK 平台开机时间优化
一.在工程模式开启MTKLogger, 开机后取日志bootprof adb pull /storage/emulated/0/mtklog/mobilelog/APLog_2018_0309_10 ...
- android系统 修改优化,修改Android系统源代码,优化开机速度。
通常情况下,Android系统开机保持在20s~25s应该算是合格比较好的状态. 最近几天在看关于Android系统开机启动过程的相关内容.做个笔记. 关于有话Android系统开机时间有话,采取三个 ...
- Win7开机加速全攻略四:系统服务优化
IT168 实用技巧]如何加快Windows 7系统的开机速度一直都是大家热议的问题,网络中流传的方法也很多,本站为大家整理了一些加快Windows 7系统的开机速度的方法,在接下去的几天中,将陆续分 ...
- 如何用 GPU 硬件层加速优化 Android 系统的游戏流畅度
作为一款VR实时操作游戏App,我们需要根据重力感应系统,实时监控手机的角度,并渲染出相应位置的VR图像,因此在不同 Android 设备之间,由于使用的芯片组和不同架构的GPU,游戏性能会因此受到影 ...
最新文章
- mysql-interview
- 2016/08/24 CppCon 2015 Bjarne Stroustrup “Writing Good C++14
- 实战:配置DNS客户端域名搜索后缀构造域名进行域名解析
- 浅谈Volatile与多线程
- 配置phpmyadmin的认证方式 wamp下的phpmyadmin密码修改
- 计算机视觉课_计算机视觉教程—第4课
- 前端学习(1164):剩余参数02
- 函数进阶之生成器和迭代器
- SecondaryNameNode 的作用
- Like Sunday, Like Rain - JavaScript运算符优先级
- 什么软件可以查月经周期,检测月经周期的软件
- 三星 android驱动安装失败,三星安卓手机usb驱动安装教程
- Sonatype Nexus: Recommended file descriptor limit is 65536 but count is 4096
- CSS首字母下沉怎么设置?
- 处理器架构 (十五) 国产cpu芯片与架构
- 《嫌疑人X的献身》——两个天才之间的思想火花
- 一文读懂机器学习中的贝叶斯统计学
- 关于封装各英文解释 资料
- 长篇好文:提问的智慧
- 《互联网保险业务监管暂行办法》
热门文章
- [MRCTF2020]你传你马呢
- 计算机怎么执行程序代码,代码如何运行?
- mysql不等于的写法_mysql 不等于 符号写法
- 鸿蒙系统怎么关闭地理位置通知,让隐私无忧,查看和去除照片地理位置信息的App小集合...
- bignumber.js API
- c++实现矩阵乘法关系矩阵乘法
- c语言实验作业感想,c语言程序报告实验总结(共10篇).docx
- .NET的.snk文件使用方法和DLL加密
- 视频转换gif动图 - 在线gif制作工具
- 关于扫雷的c语言程序设计,C语言程序设计扫雷游戏实验报告