安卓下Application和Activity的Context获取

情形一:Activity中

通过getApplication()获得Application,其本身也是一个的Context,也可以通过getApplicationContext()获得Application的Context,结果一样。

而this表示当前的Activity对象,其本身也是一个的Context。

注意:这两个Context是不一样的,它们的hash code不同。

情形二:Fragment中

通过getActivity()和getContext()得到的是一样的,都是Activity的Context。

情形三:View中

通过getContext()得到的是Activity的Context。


补充:要在Fragement或View中获得Application的Context,先参考"情形二"和"情形三"得到Activity或Activity的Context,再参考"情形一"得到Application的Context。

通过对象的toString方法就能得到对象的描述,形如"com.example.demo.MainActivity@176af1e",这可以用来识别是否为同一对象。

相关推荐
雨白20 小时前
深入理解 Android DocumentFile:性能陷阱与最佳实践
android
inputA20 小时前
【LwIP源码学习8】netbuf源码分析
android·c语言·笔记·嵌入式硬件·学习
CHINAHEAO20 小时前
FlyEnv+Bagisto安装遇到的一些问题
android
毕设源码-郭学长21 小时前
【开题答辩全过程】以 基于Android的自习室座位预订系统为例,包含答辩的问题和答案
android
一 乐21 小时前
健康打卡|健康管理|基于java+vue+的学生健康打卡系统设计与实现(源码+数据库+文档)
android·java·数据库·vue.js·spring boot·微信小程序
天平1 天前
开发了几个app后,我在React Native用到的几个库的推荐
android·前端·react native
如果'\'真能转义说1 天前
Android | 资源类型详解
android
用户69371750013841 天前
4.Kotlin 流程控制:强大的 when 表达式:取代 Switch
android·后端·kotlin
用户69371750013841 天前
5.Kotlin 流程控制:循环的艺术:for 循环与区间 (Range)
android·后端·kotlin
Android系统攻城狮1 天前
Android ALSA驱动进阶之获取周期帧数snd_pcm_lib_period_frames:用法实例(九十五)
android·pcm·android内核·音频进阶·周期帧数