Android面试经典 Application的作用

        当一个Andriod应用启动的时候,系统会自动帮我们创建一个Application,所以一般情况下,我们不需要手动去创建一个Application,那么Application倒底有什么作用呢,接下来,让我们分析一下:
       大家都知道 ,在Java中,当一个变量声明为static后,你不用new,可以在应用的任何时候直接使用这个变量,静态变量是不会被垃圾回收的,其对象会一直保持引用,而在Android中,静态变量在安卓上不比其他Java环境,不管变量本身写在哪个类里,它一旦被代表组件的类初始化,比如被一个Activity初始化,它就会绑定在这个Activity类中..关键的地方来了,其他Java环境 这个类一旦被加载,就可以存活到进程结束,因此给我们造成一种错觉就是,静态变量伴随整个进程....而Android的类却可能随着组件的销毁而卸载...这意味着你关闭一个Activity的时候,由这个Activity初始化的静态变量也会被置空,因此它的生命周期是不稳定的。也就是说,在Android中静态变量可能随时被系统置空,变为null,其它地方在使用的时候就会产生空指针现象。
      所以,在Android中,应该尽量减少静态变量的使用,并且最好使用一个公共的类,将静态变量统一管理起来。


      这时候,我们的Application类便派上用场了。


      Application类在源码上总述这样写道: 
Base class for those who need to maintain global application state. You can 
provide your own implementation by specifying its name in your 
AndroidManifest.xml’s <application> tag, which will cause that class 
to be instantiated for you when the process for your application/package is 
created.
翻译:当我们需要保持全局变量时,使用这个类。
你可以通过自己取的名字,在 AndroidManifest.xml的application标签内声明并区分这个组件。声明后这个类将会在你的应用程序或者包所在的进程创建的时候,被实例化。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值