首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >提高微调器性能

提高微调器性能
EN

Stack Overflow用户
提问于 2011-03-22 23:17:59
回答 2查看 1.4K关注 0票数 0

我有12个微调器的工作活动,这些微调器链接到一个超过20,000条记录的数据库表。每个微调器都绑定到一个不同的查询,以使选择成为动态的(基于先前的选择)。代码可以工作,但由于数据库中查询的数量和表的大小,我的性能很糟糕。初始布局需要20+秒来加载。这是因为在布局过程中将第一个微调器设置为初始选择,这会导致同时填充其他11个微调器。使用微调器时,性能也会受到影响。如果我要更改第一个选择,更新所有其他微调器大约需要10秒。

我应该从哪里开始寻找更好的性能?数据库表?问题是什么?或者我应该避免使用12个微调器?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-23 04:00:17

有了这么多选项,您应该考虑使用下钻列表。这将允许您拆分查询(每个活动一个),并允许当前列表占据整个屏幕。通过这种方式,您还可以为用户提供一种过滤当前列表的方法,如果其中有很多选项,这可能是必须的。

另外:

  • 首先设置布局,然后开始加载数据。至少在用户等待时会出现一些东西。
  • 在AsyncTask /线程中执行所有长时间运行的工作以避免阻塞UI线程
  • 确保您的数据库表上有主索引并使用这些索引进行查询
  • 不要一次加载所有数据,只需根据需要执行每个查询
票数 0
EN

Stack Overflow用户

发布于 2011-03-23 03:47:27

听起来您没有停止UI线程,所以这很好。您可以创建索引来提高数据库的速度,但通过将查询拆分而不是一次执行所有查询,您可能会获得最大的性能提升。因此,当活动启动时,第一个微调器将是唯一启用的控件。进行选择将触发对第二个微调器的查询,并启用该微调器,依此类推。

在这个(1小时)的视频中有很多有用的性能方面的东西:http://www.google.com/events/io/2010/sessions/writing-zippy-android-apps.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5393451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档