Android:由于活动和上下文存储为对象属性而导致内存泄漏?

JarsOfJam-调度器

如果我们创建一个对象属性和另一个方法中定义的属性是否有引发“内存泄漏”异常(例如)的风险activitycontextonAttach()

它很有用,尤其是context在对话框类中。

鉴于对 的引用#onAttach(),听起来您正在处理片段。根据 Android文档

Fragment 可以通过 getActivity() 访问 FragmentActivity 实例并轻松执行任务,例如在活动布局中查找视图

API 旨在向您公开任何需要的内容Context,因此getActivity()在需要的地方/时间简单地使用更为惯用

一般来说,如果您引用任何 UI 元素或任何类型的元素,Context您必须确保:

  1. 您持有引用的生命周期完全包含在被引用事物的生命类型中
  2. OR ... aWeakReference在使用null被使用和检查,以允许被引用的项目被垃圾收集

UI 元素的生命周期严格包含在封闭的 . 中Context,因此它们直接引用上下文而不使用WeakReference.

此外,有一些明确的例子表明,依赖父上下文比专门用于dialogs 的片段寿命更长

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

具有活动上下文的处理程序类会导致内存泄漏吗?

Service() 的上下文会导致“此字段泄漏上下文对象”吗?

Android:使用共享 EGL 上下文时内存泄漏

内存泄漏,但是我如何传递与解决泄漏的活动不同的上下文?

如何防止静态字段中的上下文类导致的内存泄漏

此类泄漏上下文对象吗?

该字段泄漏上下文对象

Android活动上下文为空

Android:由于成员变量导致内存泄漏?

用于静态声明上下文和INSTANCE的内存泄漏,如何更改它?

Spring上下文存储在哪里,数据结构是什么?

将上下文传递给android活动中的helper类会泄漏吗?

可以从Android中的Singleton中释放上下文,以防止内存泄漏

不要将Android上下文类放在静态字段中;这是内存泄漏

Android - 应用程序上下文可以解决内存泄漏吗?

具有上下文的无内存泄漏的Singleton

我的PyV8上下文泄漏内存

将活动上下文传递到静态方法中,是否可能发生内存泄漏?

由于C的限制,Postgres是否使用内存上下文?

由于上下文4.3.1而导致滑行崩溃

由于某种原因,iOS 中的托管对象上下文为零

使用Hilt注入上下文:此字段泄漏上下文对象

“此字段泄漏上下文对象”警告 Hilt Injection

httptest.NewRequest设置上下文存根

Java Servlet异步上下文存在性查询

使用上下文存储JSX组件以在其他地方显示是否滥用上下文?

在android中为长时间运行的非活动类获取上下文的最佳方法?

如何在静态上下文中使用带有上下文参数的类而不引起内存泄漏?

由于android.widget.BubblePopupHelper而导致的内存泄漏