Android中application的使用

Application类

Application和Activity,Service一样是Android框架中的一个系统组件,每当Android程序启动的时候,系统都会自动创建一个Application对象(默认名称application),用来存储系统的一些信息。

运行时,Android系统会为每个程序创建一个Application类的对象,只会创建一个。所以Application可以说是单例模式的一个类。

默认情况下,系统会为我们创建一个默认的Application对象,如果需要自定义一个Application对象,只需创建一个类并继承Application,并在AndroidManifest.xml中的application标签中进行注册,给application标签增加name属性,并添加自定义的application的类名即可。

启动Application时,系统会创建一个PID(进程ID),所有的Activity都会在此进程上运行,当我们在Application创建的时候进行全局变量的初始化,然后该应用中的所有Activity都可以取到这些变量,当我们在一个Activity中更改了这些变量时,那么在该应用中的其它Activity中此值就会改变。

生命周期

Application对象的生命周期是应用中最长的,它的生命周期就等于应用的生命周期。

使用方向

因为它是全局的单例模式,所以在不同的Activity,Service中获得的对象都是同一个对象,所以Application可以用来进行一些:传递数据、数据共享、全局方法和数据缓存等等。

使用

public class App extends Application {

    public static Context sContext;

    @Override public void onCreate() {
        super.onCreate();
        sContext = this;
    }

}
<application
        android:name=".App"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,663评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,010评论 19 139
  • Application 标签 android:allowTaskReparenting android:allow...
    Shawn_Dut阅读 7,947评论 2 61
  • 你就站在那里 还是记忆中的样子 我就站在角落里 心已经贴在你的身上 脚却像强力胶粘在地上 寸步难行 你喜欢 如山泉...
    zz珎珍阅读 272评论 3 3
  • 刚和男友挂完电话,电话里和他聊起自己最近对学习的怠慢,无法主动的去学习去考四级,想让他以贬低我的方式来刺激自己让...
    胡陈祎阅读 231评论 0 0