我有一个简单的个人应用程序,我正在查询SQL数据库中的一些记录,并为listview填充适配器,基本上工作正常...但我开始怀疑我是否确实在框架的正确位置。
目前我正在onCreate()期间加载所有内容。从理论上讲,我可能会加载相当多的数据,所以我想在将信息添加到适配器时可能会抛出ProgressDialog,但是我遇到了Cursor的一些奇怪的线程问题。最后,我在onCreate()的末尾附近启动了一个Progress Dialog,然后在另一个线程上休眠并调用一个方法,在短暂的睡眠时间后使用runOnUiThread()加载我的数据,该方法结束时会关闭Progress Dialog。
这是有效的,但它让我知道我是否应该在onCreate期间加载数据库数据...或者是否应该将其移动到onStart()或onResume(),添加代码以清除关闭并打开数据库,根据需要清除并重新填充适配器,因为其他活动已启动并完成。或者所有这些都是不必要的,我应该在onCreate()?
期间保持适配器填充答案 0 :(得分:0)
将其移至onResume,就像停止活动一样,您可以销毁适配器并在恢复活动时将其填充回来。 它有助于节省内存,还有助于在数据发生变化时更新适配器。
答案 1 :(得分:0)
Reto Meier建议使用Application
可能符合您的需求。看看Activity restart on rotation Android