Bundle 类的内部构造
常量定义:
private static final String LOG_TAG = "Bundle";
定义一个自身的空常量:public static final Bundle EMPTY;
初始化类对象以前,先初始化EMPTY常量,确保EMPTY中的mMap是不能被修改的:static { EMPTY = new Bundle(); EMPTY.mMap = Collections.unmodifiableMap(new HashMap<String, Object>()); }
Collections.unmodifiableMap 函数是扩充了Map类,返回一个不可被修改的Map对象。
定义一个Map对象,来存储数据:
Map<String, Object> mMap = null;
定义一个Parcel对象,来存数数据:Parcel mParcelledData = null;
class loader 定义:
Bundle构造函数:private ClassLoader mClassLoader;
public Bundle() { mMap = new HashMap<String, Object>(); mClassLoader = getClass().getClassLoader(); }