Android(安卓)APK常驻内存解决方案
16lz
2021-12-04
一.APK端
将apk给予系统签名,以mm方式编译,内置在system/app目录下.
1.Android.mk 中增加 LOCAL_CERTIFICATE := platform
2.manifest 节点中增加android:sharedUserId=“android.uid.system”
3.manifest 节点中设置android:persistent=”true”属性
二.系统端
ActivityManager作过滤,不杀死此apk进程.
--- frameworks/base/services/core/java/com/android/server/am/ProcessRecord.java+++ frameworks/base/services/core/java/com/android/server/am/ProcessRecord.java@@ -550,6 +550,9 @@ final class ProcessRecord { Slog.i(TAG, "Killing " + toShortString() + " (adj " + setAdj + "): " + reason); }+ if (processName.equals("相应apk的进程名")) {+ return;+ }+ Process.killProcessQuiet(pid); Process.killProcessGroup(uid, pid); if (!persistent) {
end
更多相关文章
- Android中编译工具链的改动----LLVM份量的增加
- 理解Android进程创建流程(转)
- Android(安卓)studio maven pom.xml
- Android存储之SharedPreferences和File
- android 全屏问题
- AndroidManifest文件中android属性
- 【算法总结】30道题搞定大厂算法面试-二叉树
- 从linux看Android之一--init进程
- Android进程与线程基本知识