Activity源码简要分析总结_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > Activity源码简要分析总结

Activity源码简要分析总结

 2013/10/24 18:53:28  圣骑士wind  博客园  我要评论(0)
  • 摘要:Activity源码简要分析总结摘自参考书籍,只列一下结论:1.Activity的顶层View是DecorView,而我们在onCreate()方法中通过setContentView()设置的View只不过是这个DecorView中的一部分。DecorView是一个FrameLayout。2.Activity和UI有关,它包含一个Window(真实类型是PhoneWindow)和一个WindowManager(真实类型是LocalWindowManager)对象
  • 标签:总结 源码 分析 Activity

 

Activity源码简要分析总结

 

  摘自参考书籍,只列一下结论:

  1. Activity的顶层View是DecorView,而我们在onCreate()方法中通过setContentView()设置的View只不过是这个DecorView中的一部分。

  DecorView是一个FrameLayout。

  2. Activity和UI 有关,它包含一个Window(真实类型是PhoneWindow)和一个WindowManager(真实类型是LocalWindowManager)对象。这两个对象将控制整个Activity的显示。

  3. LocalWindowManager使用了WindowManagerImpl作为最终的处理对象(Proxy模式),这个WindowManagerImpl中有一个ViewRoot对象。

  4. ViewRoot实现了ViewParent接口,它有两个重要的成员变量,一个是mView,它指向Activity顶层UI单元的DecorView,另外一个是mSurface,这个Surface包含了一个Canvas(画布)。

  除此之外,ViewRoot还通过Binder系统和WindowManagerService进行了跨进程交互

  5.ViewRoot能处理Handler的消息,Activity的显示就是由ViewRoot在它的performTraversals()方法中完成的。

  6. 整个Activity的绘图流程就是从mSurface中lock()一块Canvas,然后交给mView去绘制,最后unlockCanvasAndPost()释放这块Canvas。

 

参考资料

  《深入理解Android 卷I》 邓凡平 著

上一篇: 微软Visual Studio 2013性能调优 下一篇: 没有下一篇了!
发表评论
用户名: 匿名