Aplication的意义和生命周期,与Context的关系,以及关于Aplication和Context相关问题的记录和解决办法
Context详解地址链接:
http://blog.csdn.net/qinjuning/article/details/7310620
Application是一个应用中有且仅有一个的全局共享变量类,在这个全局变量中可以存储一定的数据,用于整个应用中的异步沟通和数据交互。、
自定义Application的方法:
1.自定义一个class,假如取名app,继承Application
2.在manifests文件中,对于Application声明一个name标签,那么这个标签的名字就可以改为android:name=".app",进行此步骤后,应用将使用自定义的Application的类
3.这个全局的变量对象,可以在任何地方通过使用getApplicationContext()方法获得
注:这个application的class中不能写具体的执行步骤,只能声明属性和提供修改和获得属性的方法
Application的生命周期跟整个程序的状态息息相关,具体体现在几个函数:
public class App extends Application {
@Override
public void onCreate() {
super.onCreate(); // 程序创建的时候执行
}
@Override
public void onTerminate() {
super.onTerminate(); // 程序终止的时候执行
}
@Override
public void onLowMemory() {
super.onLowMemory(); // 低内存的时候执行
}
@Override
public void onTrimMemory(int level) {
super.onTrimMemory(level); // 程序在内存清理的时候执行
}
@Override
public void onConfigurationChanged(Configuration newConfig) {super.onConfigurationChanged(newConfig);
}
}
而Context是沟通整个程序的桥梁,
每个重要的组件都会对应一个Context对象,在Context中封装了许多抽象的方法,
通过层层继承,在不同的位置实现抽象的方法,使得Context中的抽象方法可以沟通各个组件,其中就包括了startActivity(Intent i)方法
ps:
Intent是一个用于沟通各个组件的对象,其中封装了一些用户携带信息的属性,但调用context中的方法沟通不同的组件的时候,Intent中的内容自然就实现了跨组件的传递。
自己遇到的Context相关问题收集:
1.新建某些对象的时候,必须要有context对象作为参数,但并没有可以用来使用的context对象时,如何为该新建的方法提供context参数
使用应用程序的context接口:
class A = new class(getApplicationContext());
Aplication的意义和生命周期,与Context的关系,以及关于Aplication和Context相关问题的记录和解决办法的更多相关文章
- iOS视图生命周期与视图控制器关系
iOS中视图是一个应用的重要组成部分,功能的实现与其息息相关,而视图控制器控制着视图,其重要性在整个应用中不言而喻. 视图生命周期与视图控制器关系 以视图的5种状态为基础,我们来系统的了解一下 ...
- Android之Android apk动态加载机制的研究(二):资源加载和activity生命周期管理
转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/23387079 (来自singwhatiwanna的csdn博客) 前言 为了 ...
- 浅谈 Fragment 生命周期
版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Fragment 文中如有纰漏,欢迎大家留言指出. Fragment 是在 Android 3.0 中 ...
- BI 项目管理之生命周期跟踪和任务区域
DW/BI 系统是复杂的实体,构建这种系统的方法必须有助于简化复杂性.13 个方框显示了构建成功的数据仓库的主要任务区域,以及这些任务之间的主要依赖关系. 在生命周期这一级可以进行多方观察 ...
- Android-Service生命周期
Service的基本概念,以及Service的生命周期: 一.Service的基本概念: 一个Service就是应用程序的组件,可以在后台长期跑,或者是为其他的应用提供功能上的支持.Service一般 ...
- 【转】Tomcat组件生命周期管理
Tomcat组件生命周期管理 Tomcat中Server,Service,Connector,Engine,Host,Context,它们都实现了org.apache.catalina.Lifecyc ...
- [译] ASP.NET 生命周期 – ASP.NET 上下文对象(六)
使用 HttpApplication 对象 ASP.NET 框架中的许多类都提供了许多很方便的属性可以直接映射到 HttpContext 类中定义的属性.这种交叠有一个很好的例子就是 HttpAppl ...
- Android内的生命周期整理
1. Android App的生命周期: 2. Application的生命周期: 3. Activity的生命周期: 3.1 Fragment的生命周期: 4. Service的生命周期:5. Br ...
- Spring Bean 生命周期
转自:也谈Spring Bean的生命周期 开篇先用一张老图描述下Spring中Bean容器的生命周期. 插叙一下,记得某个博文中提到:“Spring的Bean容器只管理非单例Bean的生命周期,单例 ...
随机推荐
- vue与mapbox
1.引入mapbox 在index.html里面引入maobox gl 或者使用 npm install mapbox-gl 2.功能 我主要这次要实现 地图展示 地图打点(添加Marker) 地图的 ...
- C# 网络通信功能 同步数据交互开发
前言 本文将使用一个Nuget公开的组件技术来实现一对多的数据通信功能,提供了一些简单的API,来方便的向服务器进行数据请求. 在visual studio 中的Nuget管理器中可以下载安装,也可以 ...
- vim分屏操作
启动分屏 1.使用大写O参数进行垂直分屏 $ vim -On file1 file2 ... 2.使用小写o参数进行水平分屏 $ vim -on file1 file2 ... 注: n是数字,表示分 ...
- UILabel Text显示不同的颜色
UILabel的text实现不同的颜色. NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithStr ...
- Java多线程入门中几个常用的方法
一.currentThread()方法 currentThread方法就是返回当前被调用的线程. 该方法为一个本地方法,原码如下: /** * Returns a reference to the c ...
- git 在某个分支下创建新分支
首先要强调一个观念,那就是在某个分支A下创建新的分支B,是指使用A分支下的代码,并不是A/B这样的层级结构. 比如,我想要在非主分支dev 下面创建子分支dev_dev >>>1.创 ...
- Json&xml分析~
1.什么是Json? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Prog ...
- Struts2-052 RCE CVE-2017-9805
从struts2的官网下载最后受影响的版本struts-2.5.12,地址: http://archive.apache.org/dist/struts/2.5.12/struts-2.5.12-ap ...
- struts2多文件上传-2
<!-- 多文件上传 --> <action name="UploadAction2_*" class="uploadfile.UploadAction ...
- [visual studio]visual studio 2017激活码
企业版:NJVYC-BMHX2-G77MM-4XJMR-6Q8QF 专业版:KBJFW-NXHK6-W4WJM-CRMQB-G3CDH