android学习笔记15 - Application中的name作用

来源:互联网 发布:java微信开发框架 编辑:程序博客网 时间:2024/06/01 07:19

public class TestApplication extends Application {public TestApplication(){}public void do(){}@Overridepublic void onCreate() {super.onCreate();}@Overridepublic void onTerminate() {super.onTerminate();}}

       Android系统自动会为每个程序运行时创建一个Application类的对象且只创建一个。通常我们是不需要指定一个Application的,系统会自动帮我们创建。启动Application时,系统会创建一个PID,即进程ID,所有的Activity都会在此进程上运行。

       在Application创建的时候初始化全局变量,同一个应用的所有Activity都可以取到这些全局变量,而用静态类的话程序退出后不会立刻被gc回收,当你再次进入后会发现该静态类保存的信息状态Application对象的生命周期是整个程序中最长的,它的生命周期就等于这个程序的生命周期,所以在不同的Activity,Service中获得的对象都是同一个对象。因此可以通过Application来进行一些,如:数据传递、数据共享和数据缓存等操作。

       定义自己的Application过程如下:



    然后在AndroidManifest.xml中<application/>节点中添加android:name属性
<application android:icon="@drawable/icon"

                    android:label="@string/app_name"

                    android:name=".TestApplication">  

     只需要调用Context的 getApplicationContext或者Activity的getApplication方法来获得一个application对象,就能获取到全局的唯一一个application来共享数据和方法。 如下:

TestApplication application = (TestApplication) this.getApplication();

application.do();



0 0
原创粉丝点击