源码学习
文章平均质量分 73
94me
Scripture says:Wide is the gate and broad is the way that leads to destruction,
and many enter through it.
展开
-
源码探探之StartActivity(一)
源码基于API 26 startActivity()上车@Overridepublic void startActivity(Intent intent) { this.startActivity(intent, null);}没什么好说的//启动一个activity不需要返回值//如果context之外调用startActivity(),需要给intent添加{@link I原创 2017-10-18 10:04:03 · 1091 阅读 · 0 评论 -
源码探探之startActivity(二)
源码基于API26 在上一篇中,讲到由ActivityThread启动activity了 ActivityThread即我们平时提到的主线程,上一篇中AMS处理启动activity的task和record信息后通过binder跨进程到应用当前线程继续启动activity 现在看ActivityThread的scheduleLaunchActivity()@Override public原创 2017-10-18 10:04:42 · 356 阅读 · 0 评论 -
StartActivity路上的mParent
源码基于API26 mParent干嘛来着,带着这个疑问上车了通过源码发现在Activity中attach()方法中赋值了,事实上还有个方法也可以赋值,即setParent(Activity parent). 不多说直接看attach()final void attach(Context context, ActivityThread aThread, Instr原创 2017-10-18 22:50:57 · 818 阅读 · 1 评论 -
从点击屏幕到事件处理的事件分发源码流程
从点击屏幕到事件处理的事件分发源码流程有事没事先来张图 怎么打印出来的,代码先奉上 Thread.dumpStack(); 在dispatchTouchEvent(MotionEvent event)方法中执行该方法通过以上方法,可打印出从点击屏幕到执行dispatchTouchEvent(MotionEvent event)的执行流程,感觉以后分析再也不用去一个个方法去找了直接根据流程来就是原创 2017-11-07 13:20:31 · 379 阅读 · 0 评论 -
Jetpack之Navigation源码学习(一)
Navigation源码学习 如果有人不相信代码是简单的,那是因为他们没有意识到人生有多复杂。 NavigationNavigation.findNavController(it).navigate(R.id.action_page)一句代码实现导航往往凝聚了多少智慧Navigation.findNavController()public stat...原创 2018-07-28 19:21:40 · 1709 阅读 · 0 评论 -
Jetpack之Navigation源码学习(二)
如果有人不相信代码是简单的,那是因为他们没有意识到人生有多复杂。 本篇梳理NavGraph的构建和加载流程NavHostFragement#onInflate(Context context, AttributeSet attrs, Bundle savedInstanceState)@Override public void onInflate(Context...原创 2018-08-03 16:46:42 · 522 阅读 · 0 评论