【问题标题】:Should I create child textviews statically or dynamically?我应该静态还是动态创建子文本视图?
【发布时间】:2011-12-17 11:24:09
【问题描述】:

我有一个列表视图,其中项目包含不同数量的子文本视图。

min 5
max 20

我已经尝试了这两种方法,但我只有 vm 来测试我的应用程序,所以我无法真正分辨出任何性能差异。

但是最好的方法是什么?

我应该在我的 xml 中创建 20 个文本视图并隐藏我不使用的那些吗? 或者每次都创建和添加新的文本视图,导致没有“幽灵视图”

【问题讨论】:

    标签: android views android-listview children


    【解决方案1】:

    需要解决的问题:

    1. 代码简洁性->在代码中除了基本布局之外的任何事情都会变得非常混乱,速度非常快。

    2. 代码重用->将 XML 布局扩展为指定视图非常容易 一两行代码

    3. 代码性能->创建代码内布局所需的对象会导致不必要的垃圾回收。根据 Android Designing for Performance 文章,“尽可能避免创建短期临时对象。”

    4. 属性可用性->在 XML 布局中定义视图会公开对象方法并不总是可用的属性。

    可能的缺点:

    与在代码中定义布局相比,进行 XML 布局需要更多时间,尤其是在只有一两个界面元素需要更改的情况下。

    在考虑了我想要完成的任务之后,使用 XML 布局来实现我需要的动态视图更改对我来说是有意义的。在不使用 XML 布局的情况下进行布局更改不仅仅是几行代码。

    现在你可以根据自己的要求来决定了。

    【讨论】:

    • 我将采用 xml 方式,以避免垃圾收集...这样对我来说代码也更少...
    • 我不同意。我的意思是,您可以放大视图,但在后台 Android 会创建您手动创建的相同对象。它们不是短命的。只要 Activity 存在,视图就会存在。
    • 不要制造恐慌。投反对票不是解决方案。是的,它们将与活动一样长。因此,如果您的应用程序有 7 8 个活动,那么跨度很短。但我没有得到我的位置提到这个“他们是短暂的”。我说如果可以的话,避免创建短暂的对象
    • 这在这里没有意义。我也应该对错误的答案投反对票。实际上每个人都应该这样做。
    • 能否请您详细说明我的代码中的错误以便我编辑它
    猜你喜欢
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 1970-01-01
    • 2012-06-17
    • 2018-09-27
    • 2012-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多