关于Application和Context详细说明
>>Application:
Android框架的一个系统组件
为了保存全局变量设计的类
生命周期:贯穿整个程序应用
>>关于过程方法:
onCreat() :程序创建
onTeriminate():程序终止
应用程序对象终止时调用。但不保证一定被调用,当程序是被内核终止以便为其他应用程序释放资源,那么将不会提醒,即不调用应用程序的对象的onTerminate方法而直接终止当前进程 onLowMemory():程序低内存
当后台程序已经终止资源还匮乏时会调用这个方法。好的应用程序一般会在这个方法里面释放一些不必要的资源来应付当后台程序已经终止,前台应用程序内存还不够时的情况。 onTrimMemory():程序内存清理
统回调确认该进程是时候回收不必要的内存了,这将例如发生在后台时,没有足够的内存保持尽可能多的后台进程运行一样。一般发生在点击Home键、Task任务菜单键时被执行。
>>Context :
维持Android程序中各组件能够正常工作的一个核心功能类
主要作用是一个访问application环境全局信息的接口,通过它可以访问application的资源和相关的类,其主要功能如下:
启动Activity
启动和停止Service
发送广播 消息
注册广播消息接受者
访问APK中各种资源
访问Package的相关信息
APK的各种权限管理
>第一层:
一个Context抽象类,
>第二层
一个ContextImpl的实现类,里面拥有一个PackageInfo类的实例,PackageInfo类是关于整个包信息的类。
一个ContextWraper是Context的一个包装类,里面有一个ContextImpl类的实例,通过整个实例去调用ContextImpl里面的方法。
>第三层
Service和Application直接继承ContextWrapper,但是Activity需要先引入主题,所以有了ContextThemeImpl类。
关于getBaseContext()/getApplicaion()/getApplicationContext()?
凡是跟UI相关的,都用Activity做为Context来处理
上一篇下一篇