Skip to content

Android 服务裁剪与内存优化

🕒 Published at:

Android 服务裁剪与内存优化 ​

目标 ​

将盒子从 Android 系统变为纯 Linux 服务器,释放被 Java 框架占用的内存。

内存占用分析 ​

进程RSS说明
zygote43 MBJava 虚拟机
system_server50 MBAndroid 系统服务
com.android.systemui30 MB系统UI
com.dangbei.tvlauncher150 MB当贝桌面(含子进程)
ZTE 中间件群300+ MB十多个进程
mediaserver9 MB媒体服务

运行时 Kill 方案 ​

问题:init 会自动重启服务 ​

直接 kill -9 没用,Android init 会自动拉起服务。

解决:用 stop 命令 ​

bash
stop zygote
stop surfaceflinger
stop servicemanager
stop mediaserver
stop drm
stop installd
stop keystore
stop bootanim
stop netd

stop 告诉 init 不再重启该服务。之后再 kill -9 杀残留进程。

杀残留进程 ​

bash
killall -9 com.zte. com.ztestb. com.stbmc. com.mcsp. com.dangbei. com.android. zteplayer com.itv. com.talkingdata
killall -9 MainCenter hgAgent zte_probe zteKlog autotest netaccess wirelesskey depconfig

效果 ​

项目Kill 前Kill 后
内存占用733 MB300 MB
空闲内存280 MB714 MB
用户进程数60+15

启动 WiFi + SSH ​

Kill 后系统只剩内核 + 基础服务。手动启动:

bash
insmod /system/lib/modules/8189fs.ko
ifconfig wlan0 up
wpa_supplicant -B -i wlan0 -c /data/wpa.conf
dhcpcd wlan0
dropbear -p 22