我的应用程序要求是联系webservice,获取xml,解析它并使用listfield显示它。我正在调用所有这些类xmlhandler,objectmodel,使用来自扩展主屏幕的类的lisfield显示它,这使得我的应用程序变慢。
任何人都可以建议我如何加快速度吗?
是否易于弹出加载屏幕并启动一个线程来联系webservice,获取xml,解析它并终止线程,然后填充列表屏幕并显示它?
欢迎任何形式的建议!
答案 0 :(得分:1)
测试程序各个部分的速度。我通常使用的是System.nanoTime()
,并找出程序的每个部分之后的时间差异。
答案 1 :(得分:0)
在执行任何其他操作之前,找出哪个部分很慢。 否则,你会浪费大量时间在错误的部分上。
为了进行这种计时工作,我经常会在StringBuilder中进行内部日志记录,或者只是在一个包含原始未格式化数据的ArrayList中。测试结束后,我格式化并输出数据。这最大限度地减少了记录时间的影响。
答案 2 :(得分:0)
如果我错了,我只能这样才能原谅我 - 对我而言,只有在真正查看列表字段时才创建列表字段项目似乎更有效。因此,我尝试仅将保留在内存中,仅保存已解析的字符串,并仅创建当前要显示的UI项目,丢弃不可见。为了使其更加流畅,您可以在当前页面之前和之后将其扩展一页或多页。
这样显示的项目总是不变的。您还可以向服务层添加分页,以限制一次传输的记录数。