在列表视图中显示图像的缩略图(位于 SD 卡中的不同位置)

发布于 2024-08-21 05:33:35 字数 205 浏览 3 评论 0原文

我的 SD 卡中的不同文件夹中存在多个图像。我想显示缩略图列表。所以我所做的就是在渲染列表中的任何行时,我读取输入流中的文件,获取字节数组,对其进行解码以获取位图并将其设置在图像视图中。

到目前为止,一切都很好。但是当我滚动列表时,列表会突然滚动。我相信这是因为从字节数组解码位图需要一些时间。我想知道的是,是否有任何优化可以提高性能,或者更好的是有没有更好的方法来实现我想要的?

I have several images present in different folders in my sdcard. I would like to display a list of thumbnails. So what I have done is while rendering any row in the list I read the file in an input stream, get the byte array, decode it to obtain a bitmap and set it in an imageview.

So far so good. But when I scroll the list, the list scrolls in jerks. I believe this is because decoding a bitmap from byte array takes some time. What I would like to know is that, is there any optimization which I can do to improve the performance, or better still is there any better method to achieve what I want ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

找个人就嫁了吧 2024-08-28 05:33:35

我认为更好的方法是将它们作为可绘制对象添加到您的资源文件夹中(如果可以的话)。然后您可以更快地将它们作为 R.drawable 系统资源访问。

ImageView iv;
iv.setBackgroundDrawable(getResources().getDrawable(R.drawable..));

The better way in my opinion would be to add them to your resources folder as a drawable if you can. Then you can access them as a R.drawable system resource way faster.

ImageView iv;
iv.setBackgroundDrawable(getResources().getDrawable(R.drawable..));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文