android framework 源码流程分析技巧
16lz
2021-01-26
直接分析代码流程,和在代码中添加相关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)
更多相关文章
- Android(安卓)开发中使用 SQLite 数据库
- Android(安卓)Material Design动画 Reveal Effect | 揭示效果
- Android开机启动Activity或者Service方法---------------一直保
- Android(安卓)Unity Plugin 开发指南(转载)
- Android自定义action与permission
- Android(安卓)getWidth和getMeasuredWidth的正解
- Android(安卓)IPC之ContentProvider和Socket(Android开发艺术探索
- Android(安卓)在webview中设置代理
- Android(安卓)Launcher 设置壁纸