关于android的Application
来源:互联网 发布:java sleep 释放锁 编辑:程序博客网 时间:2024/06/06 01:13
1.Application类,继承自ContextWrapper上下文包装类
每个应用启动都会自动创建且创建一次Application对象,一般为默认的Application,也可以继承Application自定义自己的Applicaton。只需要继承appliction重写onCreate方法并且在AndroidManifest.xml文件中注册即可。需要注意的是Application是单例模式的,如果其中引用Context对象是类似aActivity.this,就会导致,如果应用未结束,而aActivity已经结束,就会出现aActivity引用被应用所持有,aActivity不会被回收的情况发生,就发生了内存的泄露。
虽然可以继承Application,用于定义应用级变量共享,或者应用级别的一些处理操作,但是绝大多数情况都是不需要这样做的,因为绝大多数情况可以自定义单例静态类实现,单例静态类中如果需要使用应用程序全局上下文可以使用Context.getApplicationContext();
2.关于getApplication()、getApplicationContext、getBaseContext()、this
getApplication()
is only available on the Activity class and in the Service class, whereas
getApplicationContext()
is declared in the Context class.
二者都是去获取全局Application上下文,只是使用的范围不同,
when writing code in a broadcast receiver, which is not a context but is given a context in its onReceive method, you can only call getApplicationContext()
. Which also means that you are not guaranteed to have access to your application in a BroadcastReceiver.
我理解为,如果当前上下文不是Activity、不是Service,而是广播接收器,则只能使用getApplicationContext()方法获取全局应用对象了。而此时并不能保证能够获取成功。我理解为可能是由于应用没有启动?
getBaseContext()就是获取构造方法中的Context参数
this代表当前对象,不一定就是当前Activity,在设置监听等处理中是代表组件本身
http://stackoverflow.com/questions/5018545/getapplication-vs-getapplicationcontext,大神的原回答
- 关于android的Application
- 关于Android的application类
- 关于android application的讲解
- 关于Android Application & Android Framework 的学习计划
- android 关于自定义Application的使用
- android中关于application的一些东西
- 关于使用Android Application的注意点
- 关于Android的ApplicationContext和Application
- 关于Android Application类的一些认识
- 关于Android Application知识
- ”Android Application Framework FAQ“关于Android框架的常见问题
- 关于Android Application 内存溢出问题的总结
- 关于android中的Application类的说明()
- Android中关于Application类的粗略见解
- 关于android加固的简单实现------Application替换
- android中application 关于全局变量
- android中application 关于全局变量
- android中application 关于全局变量
- ios 例子网站
- Tesseract OCR(光学字符识别)教程
- [leetcode] 202. Happy Number
- android-dev-cn
- hibernate 错误:org.hibernate.HibernateException: Unable to get the default Bean Validation factory
- 关于android的Application
- Oracle学习笔记——Oracle高级
- Mybatis配置文件
- JSP重定向传递参数
- setEmptyView的一个坑
- 需求管理的方法整理
- freemark标签
- spring配置文件中事务代理理解
- YTU 1099: Minesweeper