我正在尝试在我的应用程序中包含图像共享,一切正常,但共享选择器需要很长时间才能显示在设备上
这就是我正在做的事情:
我有ImageView“items_details_image”,我想分享它的图像,以便能够通过whatsapp和其他应用程序发送它
Class a
{
virtual void func();
};
class b : a
{
override func()
};
class c : b
{
override func()
};
以下是我从图片网址
获取位图的方法void ShareImg() {
try {
Uri bmpUri = getLocalBitmapUri(items_details_image);
if (bmpUri != null) {
// Construct a ShareIntent with link to image
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_STREAM, bmpUri);
shareIntent.setType("image/*");
// Launch sharing dialog for image
startActivity(Intent.createChooser(shareIntent, "Share Image"));
} else {
// ...sharing failed, handle error
}
} catch (Exception e) {
}
}
我不知道为什么花费比平常更长的时间将它与同一设备上的其他应用比较,例如画廊等等
答案 0 :(得分:3)
您正在getLocalBitmapUri()
的主应用程序线程上执行磁盘I / O.只要将位图写入磁盘,这将冻结您的UI。