android 开发之AsyncTask

一个界面上有多个gridview,页面进来的时候两个gridview都会进行异步加载,我曾经在一篇文章上看到AsyncTask对象一次只能有一个,那个两个gridview... 一个界面上有多个gridview,页面进来的时候两个gridview都会进行异步加载,我曾经在一篇文章上看到AsyncTask对象一次只能有一个,那个两个gridview是不相干的两个控件,他们在getview的时候会不会开启两个AsyncTask对象?像这种一个界面有多个adapter需要异步加载的情况怎么处理?新手,求老手指点 展开
 我来答
a173060244
2012-07-04 · TA获得超过341个赞
知道答主
回答量:218
采纳率:0%
帮助的人:86.6万
展开全部
gridView异步加载有点麻烦,你如果是把数据一次性加载那还好办,但是你如果想在getView()的时候加载(比如加载每个图片),这个时候你就会启动了多个异步(调用一次getView启动一个异步),这样会报错的(开启的线程多了什么的问题)。
官方上得解决方法是:将AsyncTask也弄成了弱引用,这样就能及时回收了,具体操作你可以去看文档,有点复杂,这里解释不清。
我采用的是另一种方法:线程池 + runnable + handler办法,这样能保证getView()的时候是一个个加载图片,具体的过程你可以搜一下,demo有很多。

一个界面几个adapter其实说白了就是几个数据而已,你开启异步是为了什么,就是后台线程去启动去下载这些数据,完全可以在一个异步里加载这几个数据。
wnlyq2011
2012-07-04 · TA获得超过178个赞
知道答主
回答量:70
采纳率:0%
帮助的人:12万
展开全部
怎么会,比如这两个gridview分别显示不同内容,那就是对应两个list。
一进入这个界面,马上就启动异步任务加载数据啊,在doinbackground中把数据存入这两个list。。。为了用户体验好一些,可以转动一个progressdialog
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
真莓饱
2012-07-04 · TA获得超过429个赞
知道小有建树答主
回答量:597
采纳率:0%
帮助的人:450万
展开全部
我目前的方法就是避免这个发生 我每次只载一个异步
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式