【问题标题】:Android: View with 0 height and memory consumptionAndroid:以0高度和内存消耗查看
【发布时间】:2011-08-12 11:02:46
【问题描述】:

例如,假设我有一个视图,并且我有一个算法,当它滚出屏幕时,它会导致视图的高度变为 0。此视图是否仍会消耗与全尺寸相同的内存量?我想我应该对 View.INVISIBLE 或 View.GONE 提出同样的问题?

【问题讨论】:

    标签: android view height visible zero


    【解决方案1】:

    是的 - ViewObject 并且只要存在任何 Object(无论它是否是 UI 对象)它使用的内存量完全相同。此时,OOP 环境中的Object 不再存在(它被销毁/取消引用并被垃圾收集),然后它根本不使用内存。中间没有太多。

    使 UI 对象不可见或将其宽度/高度大小减小为 0 仅意味着 GPU 不必以相同的方式处理它,无论它是在屏幕上还是在屏幕上。

    【讨论】:

    • 这很有趣。我的同事在 C# 中实现了一个滚动网格,并在他的主循环中滚动网格,他使任何不可见的大小变为 0。他告诉我他将他的应用程序的内存消耗从 1.4GB 减少到 600MB。也许c#有一些Android没有的优化?
    • 在不知道你同事的代码的情况下很难发表评论,但我对他的说法有点怀疑。根据他正在开发的系统(可能没有 GPU 并且渲染依赖于软件而不是硬件),那么这可能是可能的。关键是在任何 OO 环境中,Object 占用的空间与它需要的空间一样多,无论它是 Android 对象还是 POJO,无论它是否可见。我在 Windows 上使用 C# 进行编程,但我想不出任何关于它会显着改变其管理内存的能力比 Android 上的 Java 更好的东西。
    • HMm..then 我在想另一种方法是删除视图。但这会触发垃圾收集器,从而导致动画/滚动期间卡顿?
    猜你喜欢
    • 2012-05-18
    • 1970-01-01
    • 2015-06-16
    • 1970-01-01
    • 2021-01-10
    • 2019-02-24
    • 2014-08-17
    • 2017-10-30
    • 1970-01-01
    相关资源
    最近更新 更多