繁体   English   中英

URI中的位图

[英]Bitmap from URI

我需要使用一个位图,并且提供了一个从其他应用程序隐式意图共享的URI。 我目前与

           Bitmap btmp = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(), urinormal);

但是创建位图最多需要半秒钟。 我需要它尽快运行,该怎么办?

我找不到降低位图质量的方法,之后只能应用BitmapFactory.options创建较小的位图,但这无济于事。

文件大小可能太大。 如果太大,则需要花费时间。 您对此无能为力。

如果大约需要半秒钟,则可能要使用AsyncTask进行解码,以使UI不会冻结。

如前所述,您正在开发画廊类型的应用程序。 首次加载位图时,您可能希望将它们的缩略图存储在存储器中。 因此,下次您的应用可以快速从缩略图文件中解码图像。 单击图像时,可以从原始位置加载完整尺寸的图像。

正如@ faztp12在他的回答中提到的那样,您也可以使用一些第三方图像加载库(例如Picasso或Glide)来实现类似的功能。

图像加载缓慢的原因可能有很多。 连接速度慢,文件较大等。我建议您使用Glide (Android的图片加载库)。

GlideApp
    .with(ctx)
    .load(url)
    .centerCrop()
    .placeholder(R.drawable.loading_spinner)
    .into(myImageView);

这将显示自定义的加载图像,直到加载图像为止。 但是,您将必须使用Glide的Generated API来具有GlideApp类。 阅读文档,还有许多其他很棒的功能。

希望能帮助到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM