0

Feed in Four Square android 应用程序如下所示:

在此处输入图像描述

一个带有实际帖子的矩形框,下面是一个像10 个人这样的文本,依此类推。

这只是一个列表视图,实际内容具有边距和不同的背景,以及它下面的 TextViews。

因为当我有一个带有 ImageView 和 5-6 个 TextViews 的复杂 ListView 时,加载 UI 需要花费大量时间。

我的一位在 iO 上工作的朋友说,不要使用自定义 ListView 项目,而是使用 ImageView,它看起来像带有图像和文本视图的自定义视图。这使得加载速度更快。但是当然要实现这样的事情需要很多。

我只想知道,如果它只是另一个自定义列表视图?

我延迟加载 UI 是因为其他原因吗?

这样的技术也可以在android中使用??

谢谢你

4

2 回答 2

2

可能是一个ListView复杂的儿童观点。也可以是一个ExpandableListView.

它的加载速度可能比您以前使用过的更快有几个原因:

  1. 图像可能已经缓存在文件系统上,因此它从本地存储加载而不是下载图像。
  2. 图像已经是正确的尺寸,因此不需要调整大小。
  3. 图像加载是在后台线程上完成的,以便在将图像加载到内存时不会滞后 UI。
于 2012-10-29T07:56:57.250 回答
0

您可以为 Adapter.getView() 中的每个 ListView 项目展开复杂布局,并根据要呈现的项目对象在不需要的视图上删除 (View.setVisibility(View.Gone))。

如果您想重用展开的布局,请不要忘记将everithing 的可见性再次设置为 View.VISIBLE。

我已经在我的代码中这样做了:

        if (post.getImageURL() != null && !post.getImageURL().isEmpty()) {
            holder.image.setVisibility(View.VISIBLE);
            holder.image.setScaleType(ScaleType.FIT_CENTER);

            displayImage(post.getImageURL(), holder.image);
        } else {
            holder.image.setVisibility(View.GONE);
        }

在这种情况下,我隐藏了一个可选图像。

于 2012-10-29T12:39:28.933 回答