【问题标题】:What happens to a recycler view when the activity is destroyed?当活动被销毁时,回收站视图会发生什么?
【发布时间】:2018-12-18 05:21:18
【问题描述】:

我试图了解当持有回收站视图的活动被销毁时,使用 RecyclerView.Adapter 填充的回收站视图会发生什么。

在我的代码中,我传递了持有回收站视图的活动的上下文。当方向改变时,活动将被销毁并重新创建。这将使传递给回收站视图的上下文无效。这会导致内存泄漏吗?如果是,那么避免它的最佳做法是什么?如果不是,那么android,尤其是recycler view如何获取新的上下文?

这可能以前被问过,如果有人指出我的帖子,我将不胜感激。

【问题讨论】:

  • 您可以使用this 作为ContextActivity
  • 更好的是通过view.getContext(); 在适配器内部的view 中使用context,这样您就不会泄露上下文和NullPointerException
  • 当Activity被销毁时,一切都被销毁,包括RecyclerView。您在 onCreate 中再次创建它,因此默认情况下没有泄漏,除非有静态变量或处理程序或线程持有它们。

标签: android android-recyclerview android-context


【解决方案1】:

不,如果您传递非静态上下文,它不会导致内存泄漏。我的意思是,如果你在静态上下文中传递上下文,那么这就是导致内存泄漏的问题,否则你很高兴。没什么可担心的。如果方向发生变化,所有参考都将消失,直到您手动保留捆绑包。同样适用于您的回收站视图和您传递的上下文。确保你没有像你提到的上下文那样保持静态的东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多