我有3个标签,目前当我在标签之间滑动时会出现很多延迟。每个选项卡包含一个ListView,其中包含一个用户的图像,以及两个带有用户名和一个小描述的TextView(类似于WhatsApp)。之前每个ListView也会滞后而不能顺利滚动,但是我从android开发者网站浏览了this guide然后我修改了我的应用程序以在AsyncTask中加载图像并实现了ViewHolder模式。现在,ListView可以平滑地加载滚动,但是第一次滚动需要时间。换句话说,当ListView第一次滚动时它会滞后,但它会变得平滑。您应该知道的另一件事是填充到ListView中的数据是从SQLite DB加载的。
我假设这样做的原因是即使我在AsyncTask中加载图像,因为我在设置适配器之前从数据库中读取内容,因此该数据库访问会导致选项卡切换以及随后的首先滚动慢。
在AsyncTask中读取数据库然后在onPostExecute方法中设置ListView适配器会提高我的性能吗?如果是的话,背后的逻辑是什么?
我有一种不好的感觉,它不会产生任何影响,因为只有在通过适配器提供数据后才会绘制ListView。但是,在这里,我们将从AsyncTask中的数据库加载要提供给适配器本身的数据。