Android 带游标的ListView或Adapter慢速刷新

Android 带游标的ListView或Adapter慢速刷新,android,listview,android-cursoradapter,Android,Listview,Android Cursoradapter,我使用的是一个ListActivity,它在CursorAdapter和ContentProvider的帮助下显示一个ListView 该列表包含超过1000项,因此初始加载需要一段时间。 如果用户选择了一个项目,则通过startActivityForResult()调用另一个活动。 用户可以编辑项目,更改存储在数据库中 使用onActivityResult()返回ListActivity:使用getAdapter().changeCursor()重新加载光标,并使用getAdapter()刷新

我使用的是一个
ListActivity
,它在
CursorAdapter
ContentProvider
的帮助下显示一个
ListView

该列表包含超过1000项,因此初始加载需要一段时间。 如果用户选择了一个项目,则通过
startActivityForResult()
调用另一个活动。 用户可以编辑项目,更改存储在数据库中

使用
onActivityResult()
返回
ListActivity
:使用
getAdapter().changeCursor()
重新加载光标,并使用
getAdapter()刷新视图。notifyDataSetChanged()


这条路对吗?因为刷新需要1-2秒,而且非常慢

使用AsynTask并运行backgroundTask,如果ListView

您使用的是
游标加载程序
,您可以使用RecyclerView。很多事情都会导致应用程序运行缓慢,我首先猜测您的查询。不管怎么说,这本书有助于分解并确定你的工作中最慢的部分app@almisoft:如果您通过扩展一个标准Android适配器创建了自己的
适配器
,则可以调用自己的
getView(…)
方法来快速更新单个列表项。在StackOverflow上搜索类似“更新单个列表项”的内容@zapl不,我不知道。但这是一个很好的建议,因为目前这个查询阻碍了我的工作app@Sam:是的,查询是最慢的元素,在包含8193项的SGSII上大约需要1,5秒。但它是一个普通而简单的选择,没有子查询。在我的Nexus7上,查询在10毫秒内完成,但只有100项。