我有一个SQLite数据库,必须不断从中检索数据。每次检索之间可以对数据进行更改。
我的目标是最大程度地提高应用程序性能,那么什么是最快的方法呢?
我可以想象2:
indexOf
更改SQLite DB和ArrayList。 ----编辑----
我需要这些数据才能在Google地图中创建标记。
我已经考虑过使用CursorLoader,但是由于不需要与其他应用程序进行交互,因此我不想使用Content Providers。
创建自定义加载器会是个好主意吗?
最佳答案
简而言之,虽然并非总是那么简单,但最快的方法是一次完成所有工作。
不断地往返于数据库的调用确实会使您的应用程序出现性能瓶颈,尤其是在服务器而不是仅设备SQLite数据库上。
根据您对数据的处理方式,您可能可以查看类似于 CursorAdapter
的内容,该内容可以处理数据库中行的显示,并且每次插入/更新行时,CursorAdapter都会相应地更新ListView。它还处理光标的下一个打开/关闭/移动,使开发人员非常容易阅读和理解。
但是,再次尝试在尽可能少的呼叫中执行操作。如果您坚持使用ArrayList:
onPause()
之类的方法进行操作,因为它是可以杀死Activity的最早方法之一。