当前位置: 首页 > 知识库问答 >
问题:

调用getContext()的最佳位置是什么?

唐麒
2023-03-14

我在阅读片段文档时发现了以下内容:

注意:如果在片段中需要上下文对象,可以调用getContext()。但是,要注意的是,只有当片段附加到活动时才调用getContext()。当片段尚未附加或在其生命周期结束时分离时,getContext()返回null

所以我的问题是在片段中调用getContext()的最佳位置是什么。就像我可以在onCreateView中调用它一样,或者在任何其他地方调用onCreate()或onAttach()。

我之所以问这个问题,是因为最近我在片段中使用getContext时出现了空指针崩溃。所以我想我应该创建一个全局上下文对象,并在片段中访问它。但是后来我从官方文档中看到了这段文字,所以我有点困惑什么是初始化这个上下文对象的最佳位置。

共有1个答案

危飞跃
2023-03-14

这完全取决于您需要上下文用于什么。有时调用getApplicationContext()很好,在其他情况下,可能需要使用onattach()中提供的内容,或者调用getActivity()(如果您是在fragment代码中)。有些还提供了自己的应用程序子类,公开了像getappcontext()这样的静态方法。

在任何情况下,避免保存上下文,因为它可能导致内存泄漏。只在需要时动态获取它。

 类似资料:
  • 本文向大家介绍Django项目中python类的最佳位置是什么?,包括了Django项目中python类的最佳位置是什么?的使用技巧和注意事项,需要的朋友参考一下 您可以将上述课程放在想要的地方。 示例 然后,您可以使用import导入qux.py模块。 从project.foo.qux导入* 处理大量文件时,使目录更好。例如-

  • 问题内容: 您发现运行Eclipse的最佳JVM设置是什么? 问题答案: Eclipse Helios 3.6和3.6.x设置 替代文字http://www.eclipse.org/home/promotions/friends-helios/helios.png 在对Eclipse Ganymede 3.4.x和Eclipse Galileo 3.5.x进行设置之后,下面是对Eclipse He

  • 本文向大家介绍HTML5 Canvas中的getContext是什么?,包括了HTML5 Canvas中的getContext是什么?的使用技巧和注意事项,需要的朋友参考一下 canvas元素具有一个称为getContext的DOM方法,用于获取渲染上下文及其绘图功能。此函数采用一个参数,即上下文2d的类型。 以下是获取所需上下文的代码以及检查您的浏览器是否支持<canvas>元素的代码:

  • 问题内容: 我有一个Ajax调用,它可以更新数据库中的5,000条记录,因此需要很多时间。我有一个Ajax“正在加载图像”,它表明正在发生某些事情,但是我正在寻找一种更好的方式来显示“正在更新5000中的50 .....”,“正在更新5000中的200”或类似的东西。 在Ajax / jQuery中不做5000篇不同文章的最佳方法是什么? 问题答案: 我认为最好是使用Comet。 在Comet样式

  • 我需要计算任意逻辑模型中截断正态分布的CDF。我还没有找到任何可以工作的java软件包(但需要推荐)。我确实在R中找到了一个名为truncnorm的软件包,它对我有用。然而,我正在努力找出调用Truncr包的最佳方式。我正在rJava软件包中试用JRI。我的计划是将JRI添加为一个应用程序。jar文件到AnyLogic模型的依赖项部分,但到目前为止,我很难让它正常工作。 在我继续用JRI把头撞到墙

  • 问题内容: 我是一名PHP开发人员,现在我使用Notepad++进行代码编辑,但是最近我一直在寻找IDE以简化工作。 我研究了Eclipse,Aptana Studio和其他几个工具,但我不确定,它们看上去都不错,但是有点复杂。我相信一旦习惯了,一切都会变得容易,但是我不想浪费时间。 这就是我要寻找的: FTP支持 代码突出显示 SVN支持会很棒 Ruby和JavaScript会很棒 问题答案: