Android Getview和Gridview,具体取决于Asynctasks结果

Android Getview和Gridview,具体取决于Asynctasks结果,android,performance,gridview,android-asynctask,smooth-scrolling,Android,Performance,Gridview,Android Asynctask,Smooth Scrolling,我的Android应用程序有一些性能。我有一个4列的Gridview,一次显示8个项目。我的数据库包含的项目数大约为14000个,因此当我滚动到偏移量(200个项目)时,我从数据库中读取了另外200个项目,并丢弃了之前的200个项目。 这些项目包含大量信息,如库存、价格、购物车添加的项目、购物车添加项目的总价、位图等。 在Getview方法中,我可以加载一些信息,但是我需要从本地数据库中读取很多信息,因此,我创建了一个在Getview方法中运行的Asynctask。问题是我将viewholder

我的Android应用程序有一些性能。我有一个4列的Gridview,一次显示8个项目。我的数据库包含的项目数大约为14000个,因此当我滚动到偏移量(200个项目)时,我从数据库中读取了另外200个项目,并丢弃了之前的200个项目。 这些项目包含大量信息,如库存、价格、购物车添加的项目、购物车添加项目的总价、位图等。 在Getview方法中,我可以加载一些信息,但是我需要从本地数据库中读取很多信息,因此,我创建了一个在Getview方法中运行的Asynctask。问题是我将viewholder传递给asynctask,在onPostExecute方法中,我将值设置为viewholder,这会强制反复调用Getview方法,从而导致性能问题

我还尝试向我存储在适配器中的项添加一个标志“isFullyLoaded”,并在Getview中检查ifFullyLoaded是否为true,如果为true,我将onPostExecute的所有代码从AsyncTask传递到此条件,否则,它将只调用AsyncTask,并在onPostExecute中将“isFullyLoaded”设置为false。但这里还有另一个问题,因为它将使用循环视图,导致信息不一致

我正在寻找如何在滚动时提高性能的提示