5-4: preload_classes()
2016-05-09 09:44:54 0 举报
Zygote进程如何创建socket, 并监听之。
作者其他创作
大纲/内容
setEffectiveUser(ROOT_UID);setEffectiveGroup(ROOT_GID);
runtime.runFinalizationSync();
while ((line = br.readLine()) != null)
setEffectiveGroup(UNPRIVILEGED_GID); setEffectiveUser(UNPRIVILEGED_UID);
BufferedReader(new InputStreamReader(is)
preloadClasses()
改善:1. 能否并行加载2. 能否动态加载(只能判断用户在哪个时段启用什么程序,在fork()前,提前加载)
float defaultUtilization = runtime.getTargetHeapUtilization(); runtime.setTargetHeapUtilization(0.8f);
VMRuntime.getRuntime()
//通过Java反射机制加载类,每一行储存的是类名 Class.forName(line);
FileInputStream(PRELOADED_CLASSES);
runtime.preloadDexCaches();
加载1000多个类,耗时
PRELOADED_CLASSES = /system/etc/preloaded-classes
line = line.trim();
runtime.setTargetHeapUtilization(defaultUtilization);
在while()循环中,一行一行的读取,加载
预加载的类,放在Heap
0 条评论
下一页