Activity之间为什么采用Intent封装意图的介绍
一个Activity启动另一个Activity时,并没有startActivity(Class activityClass)这样看起来似乎更简单、更直接的方法,
而是采用Intent"意图"来表达需要启动哪一个Activity,细想之下你会发现是有很多原因的:
1.“Intent提供了一种统一的编程模型”:不管是要启动一个Activity、要启动一个Service、还是要启动一个BroadcastReceiver,Android提供了统一的Intent对象来封装这种"启动意图",这与Android本身的理念是相一致的;
2.“Intent方式降低了组件耦合”:有些时候,我们只是想启动某个组件,并不想和这个组件产生耦合,如果采用startActivity(Class activityClass)方式势必会造成一种硬编码耦合,同时也就会不利于解耦;从而也提高了系统的可扩展性、可维护性;
3.“Intent是组件之间通信的重要媒介”:两个Activity之间可以把要交换的数据封装在成Bundle对象,使用Intent携带Bundle对象实现Activity之间的数据交换;