安卓下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",这可以用来识别是否为同一对象。

相关推荐
城东米粉儿1 小时前
Android MediaPlayer 笔记
android
Jony_1 小时前
Android 启动优化方案
android
阿巴斯甜1 小时前
Android studio 报错:Cause: error=86, Bad CPU type in executable
android
张小潇1 小时前
AOSP15 Input专题InputReader源码分析
android
_小马快跑_5 小时前
Kotlin | 协程调度器选择:何时用CoroutineScope配置,何时用launch指定?
android
_小马快跑_6 小时前
Kotlin | 从SparseArray、ArrayMap的set操作符看类型检查的不同
android
_小马快跑_6 小时前
Android | 为什么有了ArrayMap还要再设计SparseArray?
android
_小马快跑_6 小时前
Android TextView图标对齐优化:使用LayerList精准控制drawable位置
android
_小马快跑_6 小时前
Kotlin协程并发控制:多线程环境下的顺序执行
android
_小马快跑_6 小时前
Kotlin协程异常捕获陷阱:try-catch捕获异常失败了?
android