Android Context相关总结
来源:互联网 发布:配电网设计软件 编辑:程序博客网 时间:2024/05/22 05:18
官方文档这样描述Context:
/** * Interface to global information about an application environment. This is * an abstract class whose implementation is provided by * the Android system. It * allows access to application-specific resources and classes, as well as * up-calls for application-level operations such as launching activities, broadcasting and receiving intents, etc. */
可以得知Context主要有以下含义:1.描述应用程序环境的信息;2.它是一个抽象类;3.可通过其获取应用的资源和类,也包括一些应用级别操作,例如:启动一个Activity,发送广播,接受Intent信息等。
Activity Service Application都继承Context,都是其实现类。所以应用程序在创建Application 创建Activity 以及创建Service时会创建应用的上下文context实例。
1.创建Application对象时
应用程序第一次启动时会创建一个Application对象同时创建Application Context,其生命周期贯穿整个应用进程的生命周期。创建Application的时机在创建handleBindApplication()方法中
2.创建Activity对象时
在调用startActivity()和startActivityForResult()方法去请求启动一个Activity时,如果系统检测需要创建一个新的Activity对象时会调用handleLaunchActivity()方法,该方法继而调performLaunchActivity()方法,去创建一个Activity实例,并且回调onCreate(),onStart()方法等。在Activity中获取Context对象时可直接用this,再起内部类中则需要指定xxActivity.this来获取。其生命周期跟Activity的生命周期同步。
3.创建Service对象时
通过startService或者bindService时,如果系统检测到需要新创建一个Service实例,就会回调handleCreateService()方法。
注意:通过getApplicationContext()方法来获取的context与xxActivity.this获取的有着本质区别。一个整个应用的上下文,一个时组件的上下文。那么各自的使用场景肯定也不同,乱使用可能会带来一些问题,如内存泄漏等。
在使用Context时注意以下几点:
1.与UI相关的操作尽量不要使用ApplicationContext对象。
2.长期保持持有Context对象的工具类或者静态方法避免内存溢出尽量使用ApplicationContext对象。
- Android Context相关总结
- Android中最常使用的Context上下文相关总结
- android context 上下文相关
- android context总结
- Android Context小总结
- Android Context简单总结
- 学习android内核 -- Context相关
- Android Context/ApplicationContext相关概念
- 关于Android Context一些总结
- Android Context的一些总结
- Android中Context相关知识整理
- 【笔记】Android中Context相关理解
- Android之context相关类图
- context相关
- Context相关
- Context相关
- Android学习总结三:Context的使用
- Android Context原理与使用的总结
- 2016蓝桥杯假期任务之《日期计算》
- 四川中石油强化压力容器设备安全管理
- Python面向对象学习(2)
- 0018-【EasyUI】combotree和combobox模糊查询
- SDWebimage框架解析
- Android Context相关总结
- FM切为扬声器模式,耳机和扬声器同时有声音-
- poj 2407 Relatives(欧拉函数模板题)
- Windows上使用VIM入门之文件操作
- IOS自带处理缓存方法
- 了解Lua语言中的_index,newindex,rawget和rawset
- 纯代码创建控制器
- 每天进步一点点——五分钟理解一致性哈希算法(consistent hashing)
- iOS 核心动画 书籍