<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://www.mywiki.cn/Hovercool/index.php?action=history&amp;feed=atom&amp;title=%E5%BA%94%E7%94%A8%E7%9A%84%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B</id>
	<title>应用的启动流程 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://www.mywiki.cn/Hovercool/index.php?action=history&amp;feed=atom&amp;title=%E5%BA%94%E7%94%A8%E7%9A%84%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B"/>
	<link rel="alternate" type="text/html" href="https://www.mywiki.cn/Hovercool/index.php?title=%E5%BA%94%E7%94%A8%E7%9A%84%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B&amp;action=history"/>
	<updated>2026-09-01T04:47:08Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://www.mywiki.cn/Hovercool/index.php?title=%E5%BA%94%E7%94%A8%E7%9A%84%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B&amp;diff=1395&amp;oldid=prev</id>
		<title>2015年5月22日 (五) 04:17 Hovercool</title>
		<link rel="alternate" type="text/html" href="https://www.mywiki.cn/Hovercool/index.php?title=%E5%BA%94%E7%94%A8%E7%9A%84%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B&amp;diff=1395&amp;oldid=prev"/>
		<updated>2015-05-22T04:17:34Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2015年5月22日 (五) 04:17的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l84&quot;&gt;第84行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第84行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;进入 App用户代码，执行 &lt;/del&gt;onCreate等函数：&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ZygoteInit.runSelectLoop接收到上面发的 socket，通过 forkAndSpecialize创建进程，完毕通过 ZygoteInit.invokeStaticMain抛出 ZygoteInit.MethodAndArgsCaller异常，清除之前的调用堆栈&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ZygoteInit.main&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;└─ZygoteInit.runSelectLoop&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    └─ZygoteConnection.runOnce&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;        └─Zygote.forkAndSpecialize&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;        └─ZygoteConnection.handleChildProc&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;            └─ZygoteInit.invokeStaticMain&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;                └─throw &quot;ZygoteInit.MethodAndArgsCaller&quot; Exception //如此则将之前的调用堆栈清除&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;└─ZygoteInit.MethodAndArgsCaller.run&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;从此便已进入 App自己的进程，开始执行 App自己的代码，执行 &lt;/ins&gt;onCreate等函数：&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;W/System.err( 1148): java.lang.Exception: kaigo print trace&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;W/System.err( 1148): java.lang.Exception: kaigo print trace&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Hovercool</name></author>
	</entry>
	<entry>
		<id>https://www.mywiki.cn/Hovercool/index.php?title=%E5%BA%94%E7%94%A8%E7%9A%84%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B&amp;diff=834&amp;oldid=prev</id>
		<title>2015年5月6日 (三) 12:00 Hovercool</title>
		<link rel="alternate" type="text/html" href="https://www.mywiki.cn/Hovercool/index.php?title=%E5%BA%94%E7%94%A8%E7%9A%84%E5%90%AF%E5%8A%A8%E6%B5%81%E7%A8%8B&amp;diff=834&amp;oldid=prev"/>
		<updated>2015-05-06T12:00:33Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;com.android.launcher中执行：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
W/System.err(  527): java.lang.Exception: kaigo print trace - startActivity&lt;br /&gt;
W/System.err(  527): 	at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1610)&lt;br /&gt;
W/System.err(  527): 	at android.app.Instrumentation.execStartActivity(Instrumentation.java:1385)&lt;br /&gt;
W/System.err(  527): 	at android.app.Activity.startActivityForResult(Activity.java:3315)&lt;br /&gt;
W/System.err(  527): 	at com.android.launcher2.Launcher.startActivityForResult(Launcher.java:1504)&lt;br /&gt;
W/System.err(  527): 	at android.app.Activity.startActivity(Activity.java:3422)&lt;br /&gt;
W/System.err(  527): 	at com.android.launcher2.Launcher.startActivitySafely(Launcher.java:2025)&lt;br /&gt;
W/System.err(  527): 	at com.android.launcher2.AppsCustomizePagedView$3.run(AppsCustomizePagedView.java:539)&lt;br /&gt;
W/System.err(  527): 	at com.android.launcher2.PagedView$1.onAnimationRepeat(PagedView.java:1068)&lt;br /&gt;
W/System.err(  527): 	at android.animation.ValueAnimator.animationFrame(ValueAnimator.java:1128)&lt;br /&gt;
W/System.err(  527): 	at android.animation.ValueAnimator$AnimationHandler.handleMessage(ValueAnimator.java:656)&lt;br /&gt;
W/System.err(  527): 	at android.os.Handler.dispatchMessage(Handler.java:99)&lt;br /&gt;
W/System.err(  527): 	at android.os.Looper.loop(Looper.java:154)&lt;br /&gt;
W/System.err(  527): 	at android.app.ActivityThread.main(ActivityThread.java:4643)&lt;br /&gt;
W/System.err(  527): 	at java.lang.reflect.Method.invokeNative(Native Method)&lt;br /&gt;
W/System.err(  527): 	at java.lang.reflect.Method.invoke(Method.java:511)&lt;br /&gt;
W/System.err(  527): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:811)&lt;br /&gt;
W/System.err(  527): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)&lt;br /&gt;
W/System.err(  527): 	at dalvik.system.NativeStart.main(Native Method)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
通过 binder 跨进程，进而在 system_server中执行：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
W/System.err(  305): java.lang.Exception: kaigo print trace - schedulePauseActivity&lt;br /&gt;
W/System.err(  305): 	at android.app.ApplicationThreadProxy.schedulePauseActivity(ApplicationThreadNative.java:572)&lt;br /&gt;
W/System.err(  305): 	at com.android.server.am.ActivityStack.startPausingLocked(ActivityStack.java:914)&lt;br /&gt;
W/System.err(  305): 	at com.android.server.am.ActivityStack.resumeTopActivityLocked(ActivityStack.java:1444)&lt;br /&gt;
W/System.err(  305): 	at com.android.server.am.ActivityStack.startActivityLocked(ActivityStack.java:1853)&lt;br /&gt;
W/System.err(  305): 	at com.android.server.am.ActivityStack.startActivityUncheckedLocked(ActivityStack.java:2946)&lt;br /&gt;
W/System.err(  305): 	at com.android.server.am.ActivityStack.startActivityLocked(ActivityStack.java:2518)&lt;br /&gt;
W/System.err(  305): 	at com.android.server.am.ActivityStack.startActivityMayWait(ActivityStack.java:3099)&lt;br /&gt;
W/System.err(  305): 	at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:2535)&lt;br /&gt;
W/System.err(  305): 	at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:132)&lt;br /&gt;
W/System.err(  305): 	at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:1756)&lt;br /&gt;
W/System.err(  305): 	at android.os.Binder.execTransact(Binder.java:338)&lt;br /&gt;
W/System.err(  305): 	at dalvik.system.NativeStart.run(Native Method)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
通过 binder，调回 lanucher的 schedulePauseActivity函数：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
W/System.err(  527): java.lang.Exception: kaigo print trace - schedulePauseActivity&lt;br /&gt;
W/System.err(  527): 	at android.app.ActivityThread$ApplicationThread.schedulePauseActivity(ActivityThread.java:530)&lt;br /&gt;
W/System.err(  527): 	at android.app.ApplicationThreadNative.onTransact(ApplicationThreadNative.java:78)&lt;br /&gt;
W/System.err(  527): 	at android.os.Binder.execTransact(Binder.java:338)&lt;br /&gt;
W/System.err(  527): 	at dalvik.system.NativeStart.run(Native Method)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
launcher进入暂停状态：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
W/System.err(  527): java.lang.Exception: kaigo print trace - activityPaused&lt;br /&gt;
W/System.err(  527): 	at android.app.ActivityManagerProxy.activityPaused(ActivityManagerNative.java:1906)&lt;br /&gt;
W/System.err(  527): 	at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:2801)&lt;br /&gt;
W/System.err(  527): 	at android.app.ActivityThread.access$800(ActivityThread.java:134)&lt;br /&gt;
W/System.err(  527): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1255)&lt;br /&gt;
W/System.err(  527): 	at android.os.Handler.dispatchMessage(Handler.java:99)&lt;br /&gt;
W/System.err(  527): 	at android.os.Looper.loop(Looper.java:154)&lt;br /&gt;
W/System.err(  527): 	at android.app.ActivityThread.main(ActivityThread.java:4643)&lt;br /&gt;
W/System.err(  527): 	at java.lang.reflect.Method.invokeNative(Native Method)&lt;br /&gt;
W/System.err(  527): 	at java.lang.reflect.Method.invoke(Method.java:511)&lt;br /&gt;
W/System.err(  527): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:811)&lt;br /&gt;
W/System.err(  527): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)&lt;br /&gt;
W/System.err(  527): 	at dalvik.system.NativeStart.main(Native Method)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
通过 socket通知 zygote，为即将启动的 APP fork一个新进程：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
W/System.err(  305): java.lang.Exception: kaigo print trace&lt;br /&gt;
W/System.err(  305): 	at android.os.Process.zygoteSendArgsAndGetResult(Process.java:389)&lt;br /&gt;
W/System.err(  305): 	at android.os.Process.startViaZygote(Process.java:525)&lt;br /&gt;
W/System.err(  305): 	at android.os.Process.start(Process.java:290)&lt;br /&gt;
W/System.err(  305): 	at com.android.server.am.ActivityManagerService.startProcessLocked(ActivityManagerService.java:2225)&lt;br /&gt;
W/System.err(  305): 	at com.android.server.am.ActivityManagerService.startProcessLocked(ActivityManagerService.java:2133)&lt;br /&gt;
W/System.err(  305): 	at com.android.server.am.ActivityStack.startSpecificActivityLocked(ActivityStack.java:747)&lt;br /&gt;
W/System.err(  305): 	at com.android.server.am.ActivityStack.resumeTopActivityLocked(ActivityStack.java:1688)&lt;br /&gt;
W/System.err(  305): 	at com.android.server.am.ActivityStack.completePauseLocked(ActivityStack.java:1084)&lt;br /&gt;
W/System.err(  305): 	at com.android.server.am.ActivityStack.activityPaused(ActivityStack.java:988)&lt;br /&gt;
W/System.err(  305): 	at com.android.server.am.ActivityManagerService.activityPaused(ActivityManagerService.java:4751)&lt;br /&gt;
W/System.err(  305): 	at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:372)&lt;br /&gt;
W/System.err(  305): 	at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:1756)&lt;br /&gt;
W/System.err(  305): 	at android.os.Binder.execTransact(Binder.java:338)&lt;br /&gt;
W/System.err(  305): 	at dalvik.system.NativeStart.run(Native Method)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
进入 App用户代码，执行 onCreate等函数：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
W/System.err( 1148): java.lang.Exception: kaigo print trace&lt;br /&gt;
W/System.err( 1148): 	at com.example.helloandroid_4_0.MainActivity.onCreate(MainActivity.java:106)&lt;br /&gt;
W/System.err( 1148): 	at android.app.Activity.performCreate(Activity.java:4590)&lt;br /&gt;
W/System.err( 1148): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1050)&lt;br /&gt;
W/System.err( 1148): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2042)&lt;br /&gt;
W/System.err( 1148): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2105)&lt;br /&gt;
W/System.err( 1148): 	at android.app.ActivityThread.access$600(ActivityThread.java:134)&lt;br /&gt;
W/System.err( 1148): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1248)&lt;br /&gt;
W/System.err( 1148): 	at android.os.Handler.dispatchMessage(Handler.java:99)&lt;br /&gt;
W/System.err( 1148): 	at android.os.Looper.loop(Looper.java:154)&lt;br /&gt;
W/System.err( 1148): 	at android.app.ActivityThread.main(ActivityThread.java:4643)&lt;br /&gt;
W/System.err( 1148): 	at java.lang.reflect.Method.invokeNative(Native Method)&lt;br /&gt;
W/System.err( 1148): 	at java.lang.reflect.Method.invoke(Method.java:511)&lt;br /&gt;
W/System.err( 1148): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:811)&lt;br /&gt;
W/System.err( 1148): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)&lt;br /&gt;
W/System.err( 1148): 	at dalvik.system.NativeStart.main(Native Method)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
各 pid对应的进程如下：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
system    305   116   429368 85188 ffffffff 40019c70 S system_server&lt;br /&gt;
app_21    527   116   357424 60444 ffffffff 4001a9a0 S com.android.launcher&lt;br /&gt;
app_63    1148  116   297944 52100 ffffffff 4001a9a0 S com.example.helloandroid_4_0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I/ActivityManager(  308): java.lang.RuntimeException: here&lt;br /&gt;
I/ActivityManager(  308): 	at com.android.server.am.ActivityStack.startActivityLocked(ActivityStack.java:1754)&lt;br /&gt;
I/ActivityManager(  308): 	at com.android.server.am.ActivityStack.startActivityUncheckedLocked(ActivityStack.java:2926)&lt;br /&gt;
I/ActivityManager(  308): 	at com.android.server.am.ActivityStack.startActivityLocked(ActivityStack.java:2498)&lt;br /&gt;
I/ActivityManager(  308): 	at com.android.server.am.ActivityStack.startActivityMayWait(ActivityStack.java:3079)&lt;br /&gt;
I/ActivityManager(  308): 	at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:2535)&lt;br /&gt;
I/ActivityManager(  308): 	at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:131)&lt;br /&gt;
I/ActivityManager(  308): 	at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:1756)&lt;br /&gt;
I/ActivityManager(  308): 	at android.os.Binder.execTransact(Binder.java:338)&lt;br /&gt;
I/ActivityManager(  308): 	at com.android.server.SystemServer.init1(Native Method)&lt;br /&gt;
I/ActivityManager(  308): 	at com.android.server.SystemServer.main(SystemServer.java:946)&lt;br /&gt;
I/ActivityManager(  308): 	at java.lang.reflect.Method.invokeNative(Native Method)&lt;br /&gt;
I/ActivityManager(  308): 	at java.lang.reflect.Method.invoke(Method.java:511)&lt;br /&gt;
I/ActivityManager(  308): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:809)&lt;br /&gt;
I/ActivityManager(  308): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)&lt;br /&gt;
I/ActivityManager(  308): 	at dalvik.system.NativeStart.main(Native Method)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hovercool</name></author>
	</entry>
</feed>