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

相关推荐
YF02115 小时前
Android 系统自带机制的卸载更新都哪些实现方案
android
事圆则缓5 小时前
MVC、MVP、MVVM、MVI 的区别与实现原理
android·kotlin·mvc
事圆则缓5 小时前
Android组件化指南
android·kotlin
binbin_526 小时前
HarmonyOS 应用功耗优化实战:定位耗电、收口任务与验证回归
android·回归·harmonyos
AFinalStone7 小时前
Android 7系统无障碍服务(七)手势分发与 KeyEvent 处理
android·无障碍服务
Flandern11117 小时前
上下文是什么?Token 怎么计费?从 messages数组到 Prompt Cache
ai·prompt·context
事圆则缓7 小时前
Jetpack Compose Effect 完全指南
android·kotlin
平头哥技术团队17 小时前
Day 10 | 工欲善其事:VS Code 配置与项目归档
android·开发语言·前端·javascript·html·交互
冬木家居18 小时前
40㎡客厅变形记,小家住出大自由[特殊字符]
android·经验分享·笔记·智能家居·微信公众平台
AFinalStone18 小时前
Android 7系统无障碍服务(六)输入事件拦截与 TouchExplorer
android·无障碍服务