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

相关推荐
Jason__Young1 小时前
Android ViewModel为什么能够跨越Activity的生命周期?
android
TechMix2 小时前
【性能优化】RenderThread各工作阶段梳理
android·性能优化
草莓熊Lotso2 小时前
MySQL 内置函数指南:日期、字符串、数学函数实战
android·java·linux·运维·数据库·c++·mysql
2401_895521342 小时前
mysql中general_log日志详解
android·数据库·mysql
zh_xuan2 小时前
Android compose 自定义主题
android·compose
一只程序熊2 小时前
uniapp 高德地图 打开选择地址报错,也没有展示出附近的位置
android·uni-app
贤泽2 小时前
Android View 触摸事件分发机制
android·aosp
zh_xuan2 小时前
Android compose 使用viewModel
android·compose
0pen12 小时前
我用 AI 写了一个 Android 群控工具,从零到可用只花了一个下午
android·人工智能
雾江流2 小时前
LSPosed 2.0.0 | 强大的安卓Root框架,支持XP模块
android·软件工程