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

相关推荐
努力进修17 分钟前
旧安卓手机别扔!用KSWEB搭个人博客,搭配外网访问超香
android·智能手机·cpolar
范特西林1 小时前
一文看懂Android SELinux 策略,从“拒绝”到“允许”的距离
android
客卿1232 小时前
用两个栈实现队列
android·java·开发语言
studyForMokey3 小时前
【Android面试】Gradle专题
android·面试·职场和发展
向上_503582914 小时前
配置Protobuf输出Java文件或kotlin文件
android·java·开发语言·kotlin
陆业聪4 小时前
AI 时代最被低估的工程师技能:把需求写清楚
android·人工智能·aigc
夏沫琅琊4 小时前
Android 的 Activity 启动模式
android
zh_xuan5 小时前
Android compose Navigation 页面导航
android·compose
luanma1509806 小时前
PHP vs C#:30字秒懂两大语言核心差异
android·开发语言·python·php·laravel
luanma1509807 小时前
Laravel 7.X核心特性深度解析
android·开发语言·php·lua·laravel