一、Android传值Intent和Bundle的区别

1、数据类型不同
Intent可以传递任何类型的数据,包括基本数据类型、对象、数组等。而Bundle只能传递一些特定的数据类型,如基本数据类型和字符串,以及Parcelable和Serializable类型的对象。
2、传递方式不同
Intent可以通过putExtra()方法来传递数据,也可以在构造方法中传递数据。而Bundle只能通过putXXX()方法来添加数据,然后将Bundle作为参数传递给Intent。
3、作用范围不同
Intent的作用范围比Bundle大,它不仅可以传递数据,还可以启动另一个活动或服务,或者发送广播等。而Bundle只是一个用于封装数据的容器,没有其他功能。
4、适用场景不同
由于Intent具有比Bundle更广泛的作用范围,因此在需要启动其他活动或服务、发送广播等场景下,使用Intent更加方便。而在只需要传递一些简单数据类型的情况下,使用Bundle更加适合。

京公网安备 11010802030320号