java - 从 xml 延迟加载 View

标签 java android xml-parsing android-canvas lazy-loading

我正在处理来自服务器的巨大 xml 文件(1.3 mb),从服务器下载大约需要 25 秒。

我正在从服务器获取坐标。我必须将它们绘制在屏幕上,那么有没有办法可以延迟加载 View

我能够下载 xml 文件并将其存储在内存中并使用 SAX 解析器对其进行解析。

我还可以分块下载 xml 并在继续时解析它们吗?

为了详细说明我的问题,

1. 我需要从服务器下载并解析 xml 文件。该文件大约为 1.3 MB

2.下载大约需要30秒,解析需要4秒。

3.我将其存储在本地文件中并使用 SAX 解析器对其进行解析。

4. 在这个 xml 文件中,我获取了绘图点,我可以通过这些点在 Canvas 上重新创建绘图。

那么,在下载 xml 文件并在下载的文件 block 上解析时,有什么方法可以处理绘图部分,以最大程度地减少延迟并解析来自服务器的较小 fragment ?

最佳答案

我不确定您正在谈论哪种 View /数据(MapView?),但在下载和解析操作需要时您必须显示某些内容地点。

Android design guide建议显示一个居中的 ProgressBar,他们将其称为“Activity 圈”。操作完成后,隐藏进度条并显示您的 View (使用 FrameLayout 重叠“等待”和“就绪” View ,以便您可以通过更改可见性轻松在它们之间切换)。

In this example, an activity circle (in Holo Light) is used in the Gmail application when a message is being loaded because it's not possible to determine how long it will take to download the email.

When displaying an activity circle, do not include text to communicate what the app is doing. The moving circle alone provides sufficient feedback about the delay, and does so in an understated way that minimizes the impact.

activity circle

关于java - 从 xml 延迟加载 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15312626/

相关文章:

android - 在 web view 中显示视频导致 Null Pointer Exception

java - Android 游戏中的卡顿(垃圾收集?)

c# - 尝试从 xml 字符串中获取 xml 节点值时,序列不包含任何元素

php从url解析xml

java - 在 JPQL 中将属性与聚合选择的结果进行比较的正确语法是什么?

java - 如何从cmd使用java -D连接到SQL服务器

java - AdColony Aurora 安卓 3.0 SetCustomID

javascript - 如何解析从 jquery 作为响应文本接收到的 xml 数据

java - 使用特定列对 Jtable 项目进行排序 - JAVA

java - PDFBox - 查找页面尺寸