在课堂上不好的做法是设置全局上下文吗?

芬肯斯汀爵士

如果我在对象的构造函数中传递上下文,那么如果所创建的对象是寿命很长的对象或单例对象,则可能会导致内存泄漏。下面的例子。

public class MyObject{
    private final Context context;

    public MyObject(Context context){
        this.context=context;
    } 
}

最好从getApplicationContext()设置上下文,因为它返回应用程序类的单例,而不是像这样从引用类实例的上下文返回?

context =  context.getApplicationContext();  
常用软件

如果我在对象的构造函数中传递上下文,那么如果所创建的对象是寿命很长的对象或单例对象,可能会导致内存泄漏

是的。例如,如果ContextActivity,则将Activity其销毁后,通常会对其进行垃圾回收。但是,如果您从static字段中引用了它,则不能对其进行垃圾收集。除非您更新该字段,否则将泄漏Activity以及该字段所引用的所有内容。

最好从getApplicationContext()设置上下文

是的。Application上下文是单身,你注意,一个生活的您的过程的持续时间。实际上,它是“预泄漏”的。您不能通过让另一个static字段指向它来进一步泄漏它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在课堂上设置全局上下文是不好的做法吗?

来自分类Dev

UIBezierPath设置上下文

来自分类Dev

Handlebars.js-全局上下文

来自分类Dev

无法从全局上下文读取变量

来自分类Dev

在Flutter中获取全局上下文

来自分类Dev

无法从全局上下文读取变量

来自分类Dev

不应该绑定吗?'全局变量是否返回系统/单词上下文?

来自分类Dev

如何设置变量以指向全局对象–与上下文执行无关?

来自分类Dev

React:TypeScript:使用useReducer设置和获取全局上下文

来自分类Dev

如何获取已在Java Servlet上下文中设置的全局对象

来自分类Dev

JavaScript是上下文无关语言吗?

来自分类Dev

设置NSDataDetector的上下文日期

来自分类Dev

QQmlApplicationEngine设置后丢失上下文

来自分类Dev

设置上下文菜单的鼠标位置

来自分类Dev

TortoiseGit启用设置上下文菜单

来自分类Dev

在Angular中设置上下文范围

来自分类Dev

设置 textview 数组的上下文

来自分类Dev

BroadcastReceiver 设置自己的上下文

来自分类Dev

使用Twisted端点时可以设置SSL上下文选项吗?

来自分类Dev

我可以在课堂上使用__autoload吗?

来自分类Dev

直接在__construct中设置属性是不好的做法吗?

来自分类Dev

动态设置/更改事件处理程序是不好的做法吗?

来自分类Dev

没有在课堂上设置变量

来自分类Dev

在课堂上验证项目的良好做法。

来自分类Dev

在课堂上保存文件或频道的良好做法

来自分类Dev

什么设置导致 ContextLoaderListener 的(根上下文)成为 DispatcherServlet 上下文的“父”上下文?

来自分类Dev

在Susy 2中定义全局网格上下文

来自分类Dev

在全局上下文中访问API类名称

来自分类Dev

如何全局禁用默认上下文菜单

Related 相关文章

热门标签

归档