【问题标题】:SherlockFragmentActivity cases performance problems with list viewSherlockFragmentActivity 使用列表视图处理性能问题
【发布时间】:2013-01-24 10:00:20
【问题描述】:

嗨,从 SherlockFragmentActivity 扩展后,列表变慢了。 所以我使用的架构如下: 我有:

1.SherlocFragment 我显示列表的活动

2.Adapter显示列表

3.AsyncTask 从服务器获取json

所以我没有使用加载器、片段或 ListActivity。

我一直在看这个答案https://stackoverflow.com/a/11779941/1796624,它建议在后台线程中扩充列表,但我不太明白该怎么做。 您的建议是什么,我是否需要使用加载器来提高性能?如果需要,请建议一个不错的教程,或者我应该将列表放在一个片段中,或者您可以建议一种新的设计模式来加快速度。 谢谢

【问题讨论】:

  • 可能与 sherlockFragmentActivity 无关,可能您的 getView 方法没有像您在回答中指出的那样优化
  • 感谢您的回答,我只想指出,我没有从 listActivity 或 sherlockListActivity 扩展,并且在这种情况下我没有使用片段。你认为使用 Fragments 会提高性能还是使用某种 listActivity。

标签: android android-listview android-listfragment android-loadermanager performance


【解决方案1】:

Loaders 是一个高级 API,可以让您更轻松地处理数据库游标、列表视图和适配器。例如,如果您将新项目添加到数据库表中,加载程序会自动刷新列表以显示该数据库表中的内容。

最好学习高级api。您可以从 android 文档中了解 Loaders。但我发现these tutorial series 很有帮助。他们以令人信服的方式描述了使用 Loaders 的动机。

但是这里有一个问题。您必须编写一个内容提供程序才能使用 Loaders。为了避免创建内容提供者,您可以使用 commonsware 发布的loaderEx。

【讨论】:

  • 感谢您的链接,您对提高应用性能有何建议?
  • 加载器将在后台执行数据库查询,因此性能肯定比不使用加载器要好。请阅读我分享的教程系列的第二部分。
猜你喜欢
  • 1970-01-01
  • 2020-11-15
  • 2018-08-08
  • 1970-01-01
  • 1970-01-01
  • 2013-07-07
  • 2022-10-19
  • 2023-03-19
  • 2021-06-11
相关资源
最近更新 更多