直接分析代码流程,和在代码中添加相关log验证;这个方法要求开发人员专业水平较高,APP代码->framework源码,framework->APP代码;
高效方法:
在方法中添加异常,异常log会打印相关的代码流程;
具体代码:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if(true){ try { Log.d("yanbing2","he"); throw new Exception(); } catch (Exception e) { e.printStackTrace(); } } }
在log中打印: onCreate()启动流程
- 08-01 01:09:37.570 2913 2913 W System.err: java.lang.Exception
- 08-01 01:09:37.571 2913 2913 W System.err: at com.example.dengyanbing.jobscheduler.MainActivity.onCreate(MainActivity.java:24)
- 08-01 01:09:37.572 2913 2913 W System.err: at android.app.Activity.performCreate(Activity.java:7023)
- 08-01 01:09:37.572 2913 2913 W System.err: at android.app.Activity.performCreate(Activity.java:7014)
- 08-01 01:09:37.573 2913 2913 W System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
- 08-01 01:09:37.574 2913 2913 W System.err: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2758)
- 08-01 01:09:37.574 2913 2913 W System.err: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2883)
- 08-01 01:09:37.575 2913 2913 W System.err: at android.app.ActivityThread.-wrap11(Unknown Source:0)
- 08-01 01:09:37.575 2913 2913 W System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1613)
- 08-01 01:09:37.576 2913 2913 W System.err: at android.os.Handler.dispatchMessage(Handler.java:106)
- 08-01 01:09:37.577 2913 2913 W System.err: at android.os.Looper.loop(Looper.java:164)
- 08-01 01:09:37.577 2913 2913 W System.err: at android.app.ActivityThread.main(ActivityThread.java:6523)
- 08-01 01:09:37.578 2913 2913 W System.err: at java.lang.reflect.Method.invoke(Native Method)
- 08-01 01:09:37.578 2913 2913 W System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
- 08-01 01:09:37.579 2913 2913 W System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:857)