【问题标题】:Fast way to create a view [closed]创建视图的快速方法[关闭]
【发布时间】:2014-02-20 21:18:23
【问题描述】:

这个问题已经困扰了我一段时间了。

我的想法是我想使用一种快速绘制/创建视图的方法。 我读到 XML 布局比动态布局更有优势。

我还阅读了有关缓存的信息。显然,我们不能/不应该缓存整个 UI 元素。如果我们保存它的状态/值并重新创建它,它与从头开始创建它所花费的时间不一样吗?有没有一种重要的方法可以更快地绘制视图?

我的目标是什么?

如果我在一个安卓应用中有不同的活动;第二次访问活动时,我希望它更快地“渲染”以优化性能和可用性。有没有办法,例如缓存或任何其他方式?还是我坚持从 XML 布局或以编程方式从头开始重新创建每个活动?

提前感谢您的任何想法..

【问题讨论】:

  • 你到底想做什么?

标签: android caching layout view rendering


【解决方案1】:

第二次访问活动时,我希望它更快地“渲染”以优化性能和可用性

好吧,它会在一定程度上自行完成,因为您的资源已经加载到进程中。

您还可以通过FLAG_ACTIVITY_REORDER_TO_FRONT 之类的方式将活动的现有实例带到前台,如果没有当前运行的实例,则创建一个新实例。但是,这更多是一种控制导航的方式,而不是专门解决性能问题。

也欢迎您尽量减少活动数量,采用更多“胖活动”架构,大量利用片段,您可以在其中对实际视图进行更多缓存。

如果您的现有代码表现出性能问题,请使用 Traceview 等工具来确定您的时间花在哪里,而不仅仅是猜测。

【讨论】:

  • 这是一个很好的答案。你知道我是否传递对象的实例并将它们保存在不同的类中,当我回到特定活动时,我从之前保存的布局实例中重置内容视图,它是否比重新创建快得多它? @CommonsWare
  • @Chris:我不知道“对象”是什么。担心存在的性能问题,然后使用工具来确定这些性能问题在哪里。随机猜测潜在问题,然后随机猜测潜在解决方案,是在浪费你的时间。
  • 对象例如是Button、TextView、LinearLayout等。我知道到目前为止这是一个不存在的问题;但我只是在想是否有一种方法可以以某种方式预取视图/布局或从缓存@CommonsWare 加载
猜你喜欢
  • 2015-11-02
  • 2018-06-08
  • 1970-01-01
  • 2011-06-30
  • 2023-01-12
  • 2013-08-07
  • 2021-05-03
  • 2016-02-29
  • 1970-01-01
相关资源
最近更新 更多