Android中的context使用(getApplicationContext和Activity.this的区别和使用)

Android---使用-ContentProvider-无侵入获取-Context(1) 有任何问题,欢迎广大网友一起来交流,分享高阶Android学习视频资料和面试资料包~偷偷说一句:群里高手如云,欢迎大家加群和大佬们一起交流讨论啊!《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!/>有任何问题,欢迎广大网友一起来交流,分享高阶Android学习视频资料和面试资料包~偷偷说一句:群里高手如云,欢迎大家加群和大佬们一起交流讨论啊![外链图片转存中…(img-qn6ezcK3-1713206254779)] 阅读详情

1、首先两者的区别:

  1、getApplicationContext()返回的是应用的上下文,隶属于整个应用,应用结束时才摧毁。

  2、Activity.this返回到是Activity的上下文,隶属于Activiy,当Activity实例摧毁时它就跟着摧毁了。

2、两者的使用:

  1、 getApplicationContext()是跟Windows无关的,所以不能做对话框的上下文,它可以做全局数据操作的上下文。

  2、Activity.this是跟Windows相关的,所以新建对话框的需要使用Activity.this。否则会报错。


3、Context的应用场景



大家注意看到有一些NO上添加了一些数字,其实这些从能力上来说是YES,但是为什么说是NO呢?下面一个一个解释:

数字1:启动Activity在这些类中是可以的,但是需要创建一个新的task。一般情况不推荐。

数字2:在这些类中去layout inflate是合法的,但是会使用系统默认的主题样式,如果你自定义了某些样式可能不会被使用。

数字3:在receiver为null时允许,在4.2或以上的版本中,用于获取黏性广播的当前值。(可以无视)




建议:尽量不要使用getBaseContext()。这里有一篇关于Context的文章比较好大家可以看看


android学习—— context 和 getApplicationContext() 在android中常常会遇到与context有关的内容 浅论一下context : 在语句 AlertDialog.Builder builder = new AlertDialog.Builder(this); 中,要求传递的 参数就是一个context,在这里我们传入的是this,那么这个this究竟指的是什么东东呢? 这里的this指的是Activity.this,是这个语句所在的Acti 阅读详情

相关推荐

SAP-ABAP:SAP中如何查看系统表之间的关联关系?

在业务逻辑开发或者ALV开发过程中,我们通常要从系统中找出几个标准表之间的关联关系,有的是head与item,通过外键进行关联的关系。那么怎么去找到呢?以上就是具体如何产看系统表之间的关联关系的步骤,对于不同代码的业务顾问,也是必须要掌握的。

LinkStar的博客 2430

getApplicationContext 详解

getApplicationContext 详解 1.首先我们先要知道Activity 父亲是Context ,Context 是个抽象类,ContextImpl 是Context 具体实现类.ContextWrapper也是继承于Context ,ContextWrapper使用代理方式调用ContextImpl. 2.想了解系统相关的知识,必须先要熟悉系统运行流程,系统是如何启动,如何...

博客 4万+

CST微波工作室端口设置保姆级教程:从波导端口到离散端口,手把手教你搞定S参数仿真

本文提供CST微波工作室端口设置的详细教程,涵盖波导端口和离散端口的选择与配置,助力工程师精准完成S参数仿真。通过微带线滤波器案例,详解端口尺寸、阻抗设置及常见问题排查,提升仿真效率与准确性。

weixin_42570296的博客 361

Android中的getApplication()、getApplicationContext的区别与用法

getApplication() 了解getApplication()方法,首先要了解Application类,Android系统自动会为每个程序运行时创建一个Application类的对象且只创建一个,所以Application可以说是单例(singleton)模式的一个类。 Application和Activity、Service一样是Android框架的一个系统组件,当Android程序启动时系统会创建一个Application对象,用来存储系统的一些信息。 ...

weixin_42602900的博客 5129

基于MATLAB/Simulink与WSL2的ROS2实时联合仿真实践

本文详细介绍了基于MATLAB/Simulink与WSL2的ROS2实时联合仿真实践。通过环境配置、PX4仿真环境搭建、自定义消息生成、Simulink通信实现及实时优化等步骤,提供了完整的无人机位置控制案例,帮助开发者实现高精度的实时联合仿真。

red88的博客 203

VCS HVP与验证计划planner:数字IC验证环境搭建与收敛实践

在数字IC验证中,VCS 是广泛使用的编译型仿真器,HVP 通常指面向硬件验证平台的高性能编译选项集,用于开启 SystemVerilog 类、随机约束和 NTB 等能力;planner 则指验证计划管理,核心是把功能点与测试用例、覆盖点建立映射。理解 VCS 先编译后仿真的原理,有助于优化增量编译、调试访问和覆盖率采集,提升回归收敛效率。规划驱动让激励不再散落,设计改版时能快速定位受影响用例,交接和覆盖率收敛更有依据。无论是 UVM 环境搭建、编译参数选择,还是验证计划表维护,都需要把工具选项与规划方法结

weixin_42543046的博客 337

Android getApplication()、getApplicationContext的区别

在 Activity 调用 getApplicationContext()返回的是当前Activity或Fragment所属的Application对象。在 Activity 调用 getApplication()通常来说,如果需要访问全局应用程序级别的变量或配置,可以使用。是两种获取应用程序上下文的方法,但它们有一些细微的区别。如果需要一个通用的应用程序级别的上下文,可以使用。四、主要的区别(Activity调用该方法)返回的是整个应用程序级别的上下文。,特别是在长时间运行的异步任务中。

帅次的博客 3081

医学图像中的小目标病灶检测难题:我的硕士研究总结与思考

医学图像中的小目标检测和分割,主要指在CT、MRI、超声等医学影像中识别和分割微小病灶或细小结构。这些小目标通常体积小、边界模糊、特征不明显,却往往是关键病灶,例如肺部小结节、脑微出血、乳腺微钙化等。

weixin_45638136的博客 2368

Android中Context、getApplication、getApplicationContext、this、Activity.this的区别

开会的时候,老大抛出的问题:this、Activity.this、getApplication之间的区别?Context到底指什么? 发现没几个人说得明白,自己也是对这些模模糊糊,于是就认真了解下。 1.Context 上下文 Context可以理解为:上下文、环境变量。 /** * Interface to global information about an applica

hanhan1016的专栏 1906

uniapp(微信小程序) - 实现uniapp小程序电子签名板,横屏手写姓名签名专用写字画板,客户专用签字板,手写签名签字画板组件,手写签名,(详细运行示例,一键复制开箱即用)

uniapp实现微信小程序的电子签名效果,uniapp微信小程序 电子签名 写字板,用uniapp实现微信小程序的电子签名,uniapp微信小程序canvans实现手写签名,记录一个uniapp写的小程序的手写板,横屏,用于签名,unniapp实现电子签名,uniapp怎么做横屏的手写签名,uniapp如何实现签字板,uniapp小程序平台下怎么做电子签名板组件,uniapp电子签名插件,uniapp最好用的电子写字板插件组件源码,实现uniapp 手写签名功能,手写板、签字板,uni-app插件市场最好的

✅ 精选推荐文章 1万+

Python遥感图像处理应用篇(二十三):Python+GDAL 批量拼接图像

遥感影像拼接分多种不同的情况,比如比较常用的是两幅影像拼接或者多个图像合并为一个图像。GDAL中实现影像拼接的方式也有多种,比如常用可以通过numpy读取影像数组,并计算各个图像的numpy数组范围,合并多个numpy数组为一个最终的结果,并将其重新输出为一幅新的图像,即可实现图像的拼接。另外比较方便的一种方法便是使用GDAL.warp()函数方法。这个函数的功能很多,可以实现多种不同的目的,比如用于坐标系转换、投影变换、图像合并与镶嵌、地理范围裁剪、更改分辨率、矢量裁剪等多种功能。这些功能可以通过设置Op

soderayer的博客 4642

Android 中几个Context的区别,getApplicationContext(),Activity.this,getBaseContext()

Android 中几个Context的区别,getApplicationContext(),Activity.this,getBaseContext

huangsihua的专栏 647

42、InfiniBand技术详解:QP状态机、操作及错误处理

本文深入解析InfiniBand技术中的核心组件QP(Queue Pair)状态机、工作请求处理机制、支持的操作类型及错误处理策略。详细介绍了QP的创建与状态转换流程,包括INIT、RTR、RTS等关键状态,并提供了状态修改的代码示例。文章还探讨了工作请求的发布、资源使用限制、围栏机制以及重试和RNR流程,帮助开发者理解通信可靠性保障机制。此外,涵盖了多播组的应用场景与API使用方法,并对比了用户空间与内核级RDMA API的调用差异,最后给出了实践建议和常见问题解答,为构建高性能分布式系统提供技术指导。

oauth7security的博客 131

this和getApplicationContext区别

this和getApplicationContext区别 public class MyActivity extends Activity {     public void method() {        mContext = this;    // since Activity extends Context        mContext = getApplicationCont

xulaoban的专栏 6791

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Activity.this 和getApplicationContext()的区别

在android中常常会遇到与context有关的内容,大多都是作为参数在传递,但是它的作用究竟是什么呢 先说它的用法,举个例子 在语句 AlertDialog.Builder builder = new AlertDialog.Builder(this); 中,要求传递的参数就是一个context,在这里我们传入的是this,那么这个this究竟指的是什么呢? 这里的this指的

javaqun的博客 548

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Android中Activity.this,getApplicationContext(),getBaseContext()和this详解

转自:http://android.tgbus.com/Android/tutorial/201103/346236.shtml 在使用Android上下文参数的时候经常分不清Activity.this(这里的Activity代指Activity类,也就是你需要使用context参数的那个Activity,例如:MainActivity),getApplicationContex...

aabb7654321的博客 289

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Activity.this和getApplicationContext()的区别

getApplicationContext() 返回应用的上下文,生命周期是整个应用,应用摧毁它才摧毁。 Activity.this 返回当前activity的上下文,生命周期只是它所在的Activity,activity 摧毁他就摧毁 getBaseContext() 返回由构造函数指定或setBaseContext()设置的上下文。 this.getApplication

山不在高,有金则名 2697

有关Context,this,getBaseContext()问题(整理)

在开发Android的过程中,总是能遇见Context类或者它的实例。Context类的实例经常被用来提供“应用程序”的引用。例如下面的代码片段,Toast类的第一个参数接受一个Context对象: [java] @Override      protected Dialog onCreateDialog(int id) {          switch (id) {     

Jensen 8123

this 和context和 getApplictionContext的区别

关于this 和Context和 getApplictionContext的概念明晰 上面概念明确的关键的是Context的理解Context Context是什么? 我们可以理解为“上下文”:它贯穿整个应用; 也可以理解成“运行环境”:它提供了一个应用运行所需要的信息,资源,系统服务等; 同样可以理解成“场景”:用户操作和系统交互这一过程就是一个场景,比如Activity之间的切换,服务

wang_8649的博客 725

android中activity.this跟getApplicationContext的区别

转载:http://www.myexception.cn/android/1968332.html android中activity.this和getApplicationContext的区别 在android中常常会遇到与context有关的内容 浅论一下context : 在语句 AlertDialog.Builder builder = new AlertDialog.Builder...

weixin_30954607的博客 199

getApplicationContext()、Activity.this、 getBaseContext区别

getApplicationContext() 返回应用的上下文,生命周期是整个应用,应用摧毁它才摧毁 Activity.this的context 返回当前activity的上下文,属于activity ,activity摧毁他就摧毁 getBaseContext() 返回由构造函数指定或setBaseContext()设置的上下文(一般情况下不推荐使用这种方法)

蚁人日记 2928

this,context,getActivity()和getApplicationContext()

this:代表当前,在Activity当中就是代表当前的Activity,换句话说就是Activity.this在Activity当中可以缩写为this.this 是因为Activity 扩展了Context,其生命周期是Activity 创建到销毁; getApplicationContext():生命周期是整个应用,应用摧毁,它才摧毁。getApplicationContext 取得的Con

augfun的博客 1286

context和getApplicationContext()区别

context和getApplicationContext()区别在语句 AlertDialog.Builder builder = new AlertDialog.Builder(this); 中,要求传递的参数就是一个context,在这里我们传入的是this,那么这个this究竟指的是什么呢? 这里的this指的是Activity.this,是这个语句所在的Activity的this,是这个...

xxdw1992的博客 5966
上一篇: Android 资源(resource)学习小结
下一篇: Android学习路径
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值