1.前沿
在设置里面,对应于某一个应用,虽然没有启动,但是上面有一个终止按钮,说明这个应用时启动的,只是里面没有Activity,所以说使用android退出把一个应用退出,实际上他所对应的Application是没有退出的(因为他的生命周期最长),只是对应的Activity退出了而已。
如果手机进行了root操作,使用了360的一键清除缓存等功能,会把对应的Application杀掉,所以说使用Activity的onSaveInstanceState()方法来保存数据也是不可靠的。

Application

是个单例,因此可以保存一些数据并能进行数据传递,不过不要太相信他,系统有时候存储不够,一样会回收它,一般做一些软引用,弱引用操作

因此我们可以创建一个类来继承Application,就是可以使用我们自己的Application了,并且仍然是单例的,并且值是全局的。可以使用getApplication来拿到它。

@1.oncreate方法
application对应的也有一个onCreate,这个才是真正的入口,不过一般我们使用的是Activity的onCreate方法作为入口使用了。

@2.onConfigurationChanged方法
当屏幕方向发生改变了,就会调用这个方法,并且对应的Activity中也会调用对应的方法
因此不必再次处理

三. 使用application
一般自定义一个application来继承application,如MyApplication,必须现在清单文件中进行配置
在清单文件中,有如下一项:
<application
android:name="com.android1.app2.yxchao.demo.MyApplication"

application有意向是android:name属性,一般你新建一个android项目的话,这个name属性是没有的,如果想要使用自定义的MyApplication的话,就要添加上一个name属性,如上面显示的那样,然后自定义一个类:MyApplication来继承application即可

四.使用全局属性
在自定义的application中可以定义一个全局的属性,这个属性的生命周期是最长的,一般定义成HashMap型如:
public HashMap<String,object> globData = new HashMap<String,objcet>();

然后可以在其他的Activity中使用getApplication来获取全局的application对象,从这个对象中拿到这个globData,如下:

MyApplication application = (MyApplication)getApplication();
application.globalData.put(name,(object)value);

Myapplication的作用与理解的更多相关文章

  1. html/css/javascript的含义、作用及理解

    HTML(HyperText Markup Language/超文本标记语言) 含义:HTML是一种用于创建网页的标准标记语言. 作用:页面内可以包含图片.链接,甚至音乐.程序等非文字元素. 理解:主 ...

  2. 对Java单例模式 volatile关键字作用的理解

    单例模式是程序设计中经常用到的,简单便捷的设计模式,也是很多程序猿对设计模式入门的第一节课.其中最经典的一种写法是: class Singleton { private volatile static ...

  3. spring中scope(作用越)理解

    今天总结了一下spring中作用域scope的用法.在spring中作用域通过配置文件形式的用法如下. <bean id="role" class="spring. ...

  4. Jquery,YUI这个著名js库名称作用的理解

    看廖雪峰大神的教程,其中讲到变量作用域问题.在命名空间中,写到:因为全局变量绑到了window上,不同的js文件访问相同全局变量或者定义了相同名字的顶层函数,都会造成命名冲突,并且很难被发现. 减少冲 ...

  5. sql server 的约束的作用 于 理解 [转]

    SQL Server中的约束用来确保系统的完整性.一般约束可以分为:主键约束外键约束检查约束默认约束唯一约束非空约束 但是一般我们需要特别注意前三种约束:主键约束,一就是说跟你系统的实体有很大的关系, ...

  6. 深入理解JavaScript系列:试着谈谈闭包

    闭包可能是JavaScript里最被人神乎其神的一个概念,世间万物皆凡夫俗子,你觉着他神奇是因为你根本没有了解,所有的事物当你了解透彻后就不会有这种不明觉厉的错觉了.哈哈哈,上来又是一顿哲学普及. 下 ...

  7. 深入理解Ember-Data特性(下)

    写在前面 最近比较忙,换了新工作还要学习很多全新的技术栈,并给自己找了很多借口来不去坚持写博客.常常具有讽刺意味的是,更多剩下的时间并没有利用而更多的是白白浪费,也许这就是青春吧,挥霍吧,这不是我想要 ...

  8. 我对CSS vertical-align的一些理解与认识(一)

    一.关于今天,本文,及其他 今天是个特殊的日子,因为今天是汶川地震两周年的日子,我很悲鸣:今天又是国际护士节,看到微博上护士照横流,我很欣慰. 一段放松的YY后,进入正题.上个月21号,有位同行留言想 ...

  9. android学习7——canvas.concat(Matrix matrix)作用

    canvas.concat的作用可以理解成对matrix的变换应用到canvas上的所有对象. 看下面的代码. public class ConcatMatrixActivity extends Ac ...

随机推荐

  1. spirng MVC乱码过滤器

    <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>or ...

  2. 启动python解释器的命令(python manage.py shell和python的区别)

    如果你曾经使用过Python,你一定好奇,为什么我们运行python manage.py shell而不是python.这两个命令都会启动交互解释器,但是manage.py shell命令有一个重要的 ...

  3. hdu 1281

    二分图,简单的模板题,不过题目比较难懂: 其中important chess就是删掉它不能够完美匹配,所以就枚举每一个可能删的棋子: 代码: #include <cstdio> #incl ...

  4. 【HDU 1828】 Picture (矩阵周长并,线段树,扫描法)

    [题目] Picture Problem Description A number of rectangular posters, photographs and other pictures of ...

  5. The APR based Apache Tomcat Native library

    Tomcat启动的时候出现下面这样的提示: 2015-11-06 14:24:12 org.apache.catalina.core.AprLifecycleListener init 信息: The ...

  6. const char*, char const*, char*const的区别

    http://www.cnblogs.com/aduck/articles/2244884.html

  7. dll的加载方式主要分为两大类,显式和隐式链接

    之前简单写过如何创建lib和dll文件及简单的使用(http://blog.csdn.net/betabin/article/details/7239200).现在先再深入点写写dll的加载方式. d ...

  8. Unity3D之多个fbx导入场景, 合并多个动画

    1:先导入到合适的文件夹, Unity自动刷新, 生成相应的文件. 2:在Project视图中选中单个fbx, 在Inspector中选择"Rig", 更改"Animat ...

  9. Android4.0 -- UI控件之 Menu 菜单的的使用(三)

    上一讲 [Android 开发]:UI控件之 Menu 菜单的的使用(二) 我们讲解了创建上下文菜单的第一种使用方式:Creating a floating context menu [创建悬浮的上下 ...

  10. Code generated using the T4 templates for Database First

    Error message: Code generated using the T4 templates for Database First and Model First development ...