首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android - "Context of View“vs "Context of Activity”

Android中的"Context of View"和"Context of Activity"是两种不同的上下文对象。

"Context of View"是指在视图(View)中使用的上下文对象。它是一个抽象类Context的子类,用于提供应用程序的全局信息和访问应用程序资源的能力。在视图中使用的上下文对象主要用于获取资源、启动Activity、发送广播等操作。它通常由视图的父级组件提供,例如Activity或Fragment。在视图中使用的上下文对象可以通过getContext()方法获取。

"Context of Activity"是指在Activity中使用的上下文对象。它是一个特殊的上下文对象,用于提供与Activity相关的信息和操作。在Activity中使用的上下文对象主要用于启动其他Activity、发送广播、访问应用程序资源等操作。在Activity中使用的上下文对象可以直接使用this关键字获取。

这两种上下文对象在使用上有一些区别:

  1. 生命周期:"Context of View"的生命周期与视图的生命周期相关联,当视图被销毁时,相关的上下文对象也会被销毁。而"Context of Activity"的生命周期与Activity的生命周期相关联,当Activity被销毁时,相关的上下文对象也会被销毁。
  2. 资源访问:"Context of View"只能访问与视图相关的资源,例如视图的布局文件、图片资源等。而"Context of Activity"可以访问整个应用程序的资源,包括应用程序的布局文件、字符串资源、图片资源等。
  3. 启动Activity:"Context of View"无法直接启动其他Activity,需要通过获取"Context of Activity"来实现。而"Context of Activity"可以直接使用startActivity()方法启动其他Activity。

在使用上,如果需要获取与视图相关的资源或执行与视图相关的操作,应使用"Context of View";如果需要启动其他Activity或执行与Activity相关的操作,应使用"Context of Activity"。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云官网:https://cloud.tencent.com/
  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 人工智能平台(AI Lab):https://cloud.tencent.com/product/ai
  • 物联网开发平台(IoT Explorer):https://cloud.tencent.com/product/iotexplorer
  • 移动推送服务(TPNS):https://cloud.tencent.com/product/tpns
  • 对象存储(COS):https://cloud.tencent.com/product/cos
  • 区块链服务(Tencent Blockchain):https://cloud.tencent.com/product/tencentblockchain
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android深入理解Context(二)Activity和Service的Context创建过程

前言 上一篇文章我们学习了Context关联类和Application Context的创建过程,这一篇我们接着来学习Activity和Service的Context创建过程。...1.ActivityContext创建过程 当我们在Activity中调用startActivity方法时,其实调用的是Context的startActivity方法,如果想要在Activity中使用...ActivityContext会在Activity的启动过程中被创建,在Android深入四大组件(一)应用程序启动过程(后篇)的第二小节中,讲到了ActivityThread启动Activity的过程...performLaunchActivity方法,这一过程在Android深入理解Context(一)Context关联类和Application Context创建过程已经讲过了,我们来查看performLaunchActivity...frameworks/base/core/java/android/view/ContextThemeWrapper.java ?

58160

Android Context 详解

Androidcontext可以作很多操作,但是最主要的功能是加载和访问资源。...在android中有两种context,一种是application context,一种是activity context,通常我们在各种类和方法间传递的是activity context。...context传递给view,意味着view拥有一个指向activity的引用,进而引用activity占有的资源:view hierachy, resource等。...但是当drawable和view关联后,drawable保存了view的reference,即sBackground保存了label的引用,而label保存了activity的引用。...避免非静态的内部类,尽量使用静态类,避免生命周期问题,注意内部类对外部对象引用导致的生命周期变化 参考推荐: Android程序里面传Context对象 Android context(Application

2.6K60

Carson带你学Android:如何理解 Context对于Activity的意义?

通过这篇文章你将学习到: ContextActivity 有什么关系? Context对于Activity有什么作用? 不同类型的Context的应用场景是什么?...关于Context的几个常见关键知识点 1. 二者有什么关系? Context 是一个抽象类;Activity 继承了 Context。...Context 对于Activity有什么作用 Activity 通过 Context接口 去访问Android系统的服务 & 资源,主要包括: 获取应用相关信息 获取系统/应用资源 四大组件之间的交互...getApplicationContext():返回的是Application类型的Context Activity.this:返回的是当前ActivityContext getBaseContext...带你学Android 文章系列: Carson带你学Android:页面活动-Activity Carson带你学Android:广播-BroadcastReceiver Carson带你学Android

23020

Android深入理解Context(一)Context关联类和Application Context创建过程

前言 Context也就是上下文对象,是Android较为常用的类,但是对于Context,很多人都停留在会用的阶段,这个系列会带大家从源码角度来分析Context,从而更加深入的理解它。...在开发中我们经常会使用Context,它的使用场景总的来说分为两大类,它们分别是: 使用Context调用方法,比如:启动Activity、访问资源、调用系统级服务等。...Activity、Service和Application都是间接的继承自Context的,因此,我们可以计算出应用程序中有多少个Context,这个数量等于Activity和Service的总个数加1,...和Context相关联的类,除了ContextImpl还有ContextWrapper、ContextThemeWrapper和Activity等等,下面给出Context的关系图。 ?...在Android深入四大组件(一)应用程序启动过程这篇文章的最后讲了ActivityThread启动Activity

1.1K100

重新认识Android Context

作为Android开发者,不知道你有没有思考过这个问题,Activity可以new吗?Android的应用程序开发采用JAVA语言,Activity本质上也是一个对象,那上面的写法有什么问题呢?...Android程序不像Java程序一样,随便创建一个类,写个main()方法就能运行,Android应用模型是基于组件的应用设计模式,组件的运行要有一个完整的Android工程环境,在这个环境下,Activity...比如微信聊天,此时的“环境”是指聊天的界面以及相关的数据请求与传输,Context在加载资源、启动Activity、获取系统服务、创建View等操作都要参与。 那Context到底是什么呢?...如何获取Context 通常我们想要获取Context对象,主要有以下四种方法 1:View.getContext,返回当前View对象的Context对象,通常是当前正在展示的Activity对象。...View持有Activity引用 ?

51230

Android老司机被打脸!Dialog 对应的 Context 必须是 Activity吗?

我传入Dialog的context-直都没用activity 我:那第一个dialog的context应该是需要activity的 A:没有Activity的应用-样是可以显示Dialog的,setType...今天我们就来彻底搞清楚这一块,问题来了: 1、为什么传入一个非 Activitycontext 会出现错误? 2、传入的 context 一定要是 Activity 吗?...在创建Dialog对象时,context参数传Activity和传Service或Application之类的非ActivityContext对象有什么区别呢?...肯定有关系啦,别忘了Dialog在show方法里是通过WindowManager来添加View的,而这个WindowManager对象就是从Context的getSystemService(WINDOW_SERVICE...关于这一点,在我当时确立好Android方向时,就已经开始梳理自己的成长路线了,包括技术要怎么系统地去学习,都列得非常详细。

3.7K00

Android Context完全解析,你所不知道的Context的各种细节

Context类型 我们知道,Android应用都是使用Java语言来编写的,那么大家可以思考一下,一个Android程序和一个Java程序,他们最大的区别在哪里?划分界限又是什么呢?...其实简单点分析,Android程序不像Java程序一样,随便创建一个类,写个main()方法就能跑了,而是要有一个完整的Android工程环境,在这个环境下,我们有像Activity、Service、BroadcastReceiver...可以这样讲,Context是维持Android程序中各组件能够正常工作的一个核心功能类。 下面我们来看一下Context的继承结构: ?...出于安全原因的考虑,Android是不允许Activity或Dialog凭空出现的,一个Activity的启动必须要建立在另一个Activity的基础之上,也就是以此形成的返回栈。...Context一共有Application、Activity和Service三种类型,因此一个应用程序中Context数量的计算公式就可以这样写: Context数量 = Activity数量 + Service

55920

Android Context完全解析,你所不知道的Context的各种细节

Context类型 我们知道,Android应用都是使用Java语言来编写的,那么大家可以思考一下,一个Android程序和一个Java程序,他们最大的区别在哪里?划分界限又是什么呢?...其实简单点分析,Android程序不像Java程序一样,随便创建一个类,写个main()方法就能跑了,而是要有一个完整的Android工程环境,在这个环境下,我们有像Activity、Service、BroadcastReceiver...可以这样讲,Context是维持Android程序中各组件能够正常工作的一个核心功能类。 下面我们来看一下Context的继承结构: ?...出于安全原因的考虑,Android是不允许Activity或Dialog凭空出现的,一个Activity的启动必须要建立在另一个Activity的基础之上,也就是以此形成的返回栈。...Context一共有Application、Activity和Service三种类型,因此一个应用程序中Context数量的计算公式就可以这样写: Context数量 = Activity数量 + Service

1.5K90

022android初级篇之androidContext

022_01.png Context类 路径: /frameworks/base/core/java/android/content/Context.java 说明: 抽象类,提供了一组通用的API...ContextThemeWrapper类 路径:/frameworks/base/core/java/android/view/ContextThemeWrapper.java 说明:该类内部包含了主题...Activity类 、Service类 、Application类都是Context的子类 创建Context实例 因此应用程序App共有的Context数目公式为: 总Context实例个数 = Service...个数 + Activity个数 + 1(Application对应的Context实例) 1、创建Application对象的时机 每个应用程序在第一次启动时,都会首先创建Application对象。...handleCreateService()函数位于 ActivityThread.java类 参考链接 AndroidContext详解 ---- 你所不知道的Context Android源码分析-

35720
领券