AndroidManifest.xml 中 application 有一个属性是 android:name ,它是用来app启动时来关联一个application的,默认关联的是android.app.Application
当app启动时,会默认创建一个application的实例 ,当在Activity中调用getApplication()方法时 ,就会返回这个实例,所以这个 android:name 指定的类就有点似于全局变量的作用吧 , 用来存储数据供给整个 Activity 使用
下面测试一下android:name这个属性的作用:
新建一个MainApplicatio类继承Application ,添加一个成员变量,在onCreate方法中打印信息
在这里插入图片描述
然后在AndroidManifest.xml 中 application 中添加 android:name=".MainApplication"
运行一下app会发现MainApplication这个类被创建了
在这里插入图片描述
可以在 MainActivity 中 使用 getApplication 方法获取一下 application 并给它设置一个值并打印出来
在这里插入图片描述
打印结果如下
在这里插入图片描述
可以看到 , android:name 属性的作用就是设置一个类,当app运行前创建实例,并可以将类中的数据在运行期间给所有 Activity 来访问。
网友评论