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项。