好日子所有,我有一个图像我想从一个SD卡显示到一个GridView的负载。我也跟着教程在做,这是链接:解决方案从AsyncTask从sdcard加载大量图像时缓慢的过程
http://mihaifonoage.blogspot.com/2009/11/displaying-images-from-sd-card-in.html
一切正常,除了伟大的,当图像成为很多,就变得很慢,以填充它,然后滚动也很慢的事实。我曾尝试编辑代码以使用ViewHolder方法,但仍然没有运气。
现在,我也已经使用了自定义ListView中的图像填充而不使用AsyncTask,它似乎更快地处理它。是的常识将只是使用更快的方法,但首先要澄清一些事情。所以我问:
难道是可以的AsyncTask在某些情况下非常缓慢和不理想或因此说我使用一个GridView或ListView有什么用它做的事实呢?任何理由?我问这个原因AsyncTask似乎总是得到很好的偏好。
任何其他方式,解决方案或建议,我可以让这个过程更快..
注:我会公布我的代码,但其同样的事情为纽带只有我,我不在MediaStore查询中不使用getThumbnails()。提前致谢。
这里是部分我所得到的logcat的输出时,它的加载图像:
10-07 19:42:54.072: DEBUG/dalvikvm(20291): GC_EXPLICIT freed <1K, 48% free 2886K/5511K, external 1574K/14018K, paused 28ms
10-07 19:42:54.092: DEBUG/dalvikvm(20291): GC_EXPLICIT freed <1K, 48% free 2918K/5511K, external 1574K/14018K, paused 25ms
10-07 19:42:54.122: DEBUG/dalvikvm(20291): GC_EXPLICIT freed <1K, 48% free 2918K/5511K, external 1574K/14018K, paused 25ms
10-07 19:42:54.142: DEBUG/dalvikvm(20291): GC_EXPLICIT freed <1K, 48% free 2918K/5511K, external 1574K/14018K, paused 24ms
10-07 19:42:54.172: DEBUG/dalvikvm(20291): GC_EXPLICIT freed <1K, 48% free 2918K/5511K, external 1574K/14018K, paused 25ms
10-07 19:42:54.202: DEBUG/dalvikvm(20291): GC_EXPLICIT freed <1K, 48% free 2918K/5511K, external 1574K/14018K, paused 25ms
10-07 19:42:54.232: DEBUG/dalvikvm(20291): GC_EXPLICIT freed <1K, 48% free 2918K/5511K, external 14018K/14018K, paused 28ms
10-07 19:42:54.252: DEBUG/dalvikvm(20291): GC_EXPLICIT freed <1K, 48% free 2918K/5511K, external 14018K/14018K, paused 24ms
10-07 19:42:54.282: DEBUG/dalvikvm(20291): GC_EXPLICIT freed <1K, 48% free 2918K/5511K, external 14018K/14018K, paused 24ms
10-07 19:42:54.302: DEBUG/dalvikvm(20291): GC_EXPLICIT freed <1K, 48% free 2918K/5511K, external 14018K/14018K, paused 25ms
10-07 19:42:54.332: DEBUG/dalvikvm(20291): GC_EXPLICIT freed <1K, 48% free 2918K/5511K, external 14018K/14018K, paused 25ms
10-07 19:42:54.362: DEBUG/dalvikvm(20291): GC_EXPLICIT freed <1K, 48% free 2918K/5511K, external 14018K/14018K, paused 25ms
您可以发布设备变慢时产生的logcat消息吗?我怀疑你的内存不足。 – slayton
@slayton我已经添加了logcat消息的样子。奇怪,但我没有收到任何错误或警告信息。我不知道是否应该使用BitmapFactory的InSampleSize选项来减小图像的大小,但这不会降低图像质量吗? – irobotxxx
如果您的图像的分辨率高于它们在屏幕上显示的像素数量,则没有理由不使用inSampleSize对其进行缩减采样 – slayton