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

发布于:2024-03-03 ⋅ 阅读:(79) ⋅ 点赞:(0)

一,优化目标

  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的时间。

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到