全志A40I-H android6.0启动优化

本文介绍了如何将AndroidM的启动时间从20S优化到接近Android4.4的16S,通过一系列措施如去除无用文件分区、优化驱动加载和打印、调整CPU频率、减少不必要的系统服务等,以及关注启动动画和应用加载的优化,展示了显著的性能提升过程。
摘要由CSDN通过智能技术生成

一,优化目标

  1. 对比android4.4的启动时间,android4.4是16S ,androidM是20S.中间还差4S的时间,从分析上来看主要是由于androidM使用了JIT的方式,导致apk的安装加载时间会长。我们的目标是将androidM的启动时间能达到android4.4的水平。对比刚开始的30S优化到20S也是阶段性的成果。
  2. 后续优化空间还可以从systemUI和Laucher的加载和启动上进行。另外其它有些地方,如android虚拟机,JIT,EMMC速度等。

二,优化措施

1. 优化文件系统加载

去 掉 没 有 用 的 文 件 分 区 , 在A40I-H android6.0 中将/dev/block/by-name/frp/dev/block/by-name/media_data的分区加载去掉,对比去掉后启动节省了3S

2. 优化启动驱动加载

将驱动尽可能采用buldin的加载方式,不要使用单独ko加载。

3. 优化启动终端打印

将启动的终端串口打印尽可能调低。在A40I-H android6.0中可以将打印等级loglevel调整成0,时间节省1S

4. 优化boot启动

将boot启动的打印关闭,节省800ms

5. 提高cpu启动的运行速度

将cpu的启动速度从1G提高到1.1G,整体运行时间节省2s

6. 优化android启动服务

在init.rc中将不使用的服务关闭,节省时间2s,如下:

diff --git a/rootdir/init.rc b/rootdir/init.rc
index a7d30f8..ad20c43 100644
--- a/rootdir/init.rc
+++ b/rootdir/init.rc
@@ -633,13 +633,13 @@ service debuggerd64 /system/bin/debuggerd64
	class main
	writepid /dev/cpuset/system-background/tasks

-service ril-daemon /system/bin/rild
-    class main
-    socket rild stream 660 root radio
-    socket sap_uim_socket1 stream 660 bluetooth bluetooth
-    socket rild-debug stream 660 radio system
-    user root
-    group radio cache inet misc audio log
+#service ril-daemon /system/bin/rild
+#    class main
+#    socket rild stream 660 root radio
+#    socket sap_uim_socket1 stream 660 bluetooth bluetooth
+#    socket rild-debug stream 660 radio system
+#    user root
+#    group radio cache inet misc audio log
service surfaceflinger /system/bin/surfaceflinger
	class core
@@ -660,16 +660,16 @@ service media /system/bin/mediaserver
	ioprio rt 4

# One shot invocation to deal with encrypted volume.
-service defaultcrypto /system/bin/vdc --wait cryptfs mountdefaultencrypted
-    disabled
-    oneshot
+#service defaultcrypto /system/bin/vdc --wait cryptfs mountdefaultencrypted
+#    disabled
+#    oneshot
	# vold will set vold.decrypt to trigger_restart_framework (default
	# encryption) or trigger_restart_min_framework (other encryption)
diff --git a/target/product/core.mk b/target/product/core.mk
index ec6a099..f024a99 100644
--- a/target/product/core.mk
+++ b/target/product/core.mk
@@ -21,18 +21,12 @@
# core_tiny.mk in addition to core_minimal.mk.
PRODUCT_PACKAGES += \
-    Browser \
-    Contacts \
	 DeskClock \
-    DownloadProviderUi \
	 ExternalStorageProvider \
	 FusedLocation \
-    InputDevices \
-    LatinIME \
	 Launcher2 \
	 libpac \
	 Settings \
-    SharedStorageBackup \
	 Telecom \
	 TeleService

diff --git a/target/product/core_base.mk b/target/product/core_base.mk
index 03d33e1..536092b 100644
--- a/target/product/core_base.mk
+++ b/target/product/core_base.mk
@@ -21,11 +21,9 @@ PRODUCT_PROPERTY_OVERRIDES := \
	ro.config.alarm_alert=Alarm_Classic.ogg

PRODUCT_PACKAGES += \
-    ContactsProvider \
	 DefaultContainerService \
	 Home \
	 TelephonyProvider \
-    UserDictionaryProvider \
	 atrace \
	 libandroidfw \
	 libaudiopreprocessing 

7. 优化android启动动画

Android的bootanimation启动需要耗3s的时间,还取决于图片大小和数量。采用原生的启动画面节省1S的时间。

8. 优化android启动加载应用

Android的应用按装会耗的时间较长,由于采用的JIT方式导致应用加载会需要更长的时间,所以时间取决于apk的数量和apk的大小.将不需要的应用进行裁剪,可以优化近300ms的时间。

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值