在写android代码时,我们基本不会出现new MyActivity(), new MyService()等等这样的代码,要知道android app的编写语言是java,java的特点是什么:“一切皆对象”。那么问题来了,我们写的activity,service等什么时候被new出来了的呢,它们是怎样被new出来的,带着这个问题我们继续看下去。
android framework层架构采用了ioc方式,程序员实现的activity,service等式在android的框架层new出来的,程序猿在完成一个activity后都需要在mainfest注册。然后android framework层利用反射的方式动态的创建其对象。所以android采用这样的方式将控制权全部掌握在框架层,客户端程序员只需要按照其方式实现就行。
但是紧接着新的问题又会出现,既然我们客户端程序员不需要new 组件对象,也就是说我们的各个组件间是相互独立的。然后新的问题产生各组件之间的交互该如何处理呢,android framework为我们想到了这个问题,所以Intent信使产生了,android设计者通过Intent信使实现各个组件间的交互,不得不说框架的设计确实很好,这里膜拜大神。
android的框架层牢牢掌控住客户端的,包括对象的创建调用等。其中运用的很多好的设计模式以及方法值得我们学习。