3

目前我有一个使用线程的工作解决方案(一个新线程被实例化并为每个图像运行),但我到处都读到线程很昂贵并且更好地使用 Android 中的其他解决方案。但不太确定什么更适合这种情况(AsynchTask、线程池或......?)。网格是可滚动的,如果我快速滚动,我将同时实例化数百个线程......

有帮助的一件事是缓存图像,因此线程只是第一次创建并运行。但无论如何,我想优化这个第一次加载。

4

2 回答 2

2

那里有很多开源项目,但是做所有这些事情:异步加载图像并缓存它们等。一些这样的项目是:https ://github.com/thest1/LazyList和https://github.com /nostra13/Android-Universal-Image-Loader

于 2012-07-24T21:18:08.993 回答
1

我认为一个额外的线程应该就足够了..我可能错了,但是您将拥有处理 UI 渲染等的 UI 线程,然后是用于加载图像(或线程)的 AsyncTask。在那里,您可以实例化尽可能多的并行下载,并且在每个加载后,您可以向 UI 线程发送一条消息更新 GridList..

实际上,当您将使用其他一些库进行 HTTP 连接时,它会为每个下载实例化额外的线程(或异步任务)。

我一直在使用这个,它完美无缺。

于 2012-07-24T21:19:09.000 回答