【问题标题】:Does it save more memory and is it more efficient to reuse recyclerviews?它是否节省了更多内存,并且重用recyclerviews是否更有效?
【发布时间】:2016-05-11 23:17:01
【问题描述】:

我总共有 4 个 recyclerview,每个当前都有自己的 xml recyclerview,让所有 4 个片段都使用 1 个 xml recyclerview 还是每个都有自己的 recyclerview 在内存使用方面更好?如果我改变它,它会对我的堆中分配的文件数量产生重大影响吗?

【问题讨论】:

    标签: java android memory-management heap-memory


    【解决方案1】:

    这里要指出几点:

    • 每个片段都有唯一的视图层次结构。如果您希望所有四个片段都有一个回收器视图,您应该在每个片段中声明它。即使您在片段之间重用保存 XML 定义的视图,仍会为每个片段创建不同的回收器视图实例。
    • 没有像 XML 回收器视图这样的东西。 XML 只是用作一种标记语言来指定您的视图层次结构。最后,所有的视图都是 Java 对象。
    • 文件未在堆上分配。对象是。

    【讨论】:

    • 我明白了,未调用的对象是在堆中分配的吗?我需要减少我的堆负载,我应该从哪里开始?
    • 简而言之 - 每次使用 new 关键字调用构造函数时,都会在堆上分配内存。其他操作也可以隐式创建对象。这些包括自动装箱、字符串操作等。如果您不熟悉这些术语,请先查找它们。监视内存分配情况的最佳方法是使用 IDE 的分析工具,查看您创建了多少对象以及在哪里创建它们。检查结果后,问题将很容易识别。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-17
    • 2020-07-27
    • 2011-04-02
    • 1970-01-01
    • 1970-01-01
    • 2017-03-22
    • 1970-01-01
    相关资源
    最近更新 更多