【发布时间】:2015-08-01 23:59:36
【问题描述】:
选择图像并调用 onActivityResult 后,我创建一个缩略图来更新原始活动视图。我还将图像按比例缩小并将其存储在一个临时文件夹中,然后由同步适配器从该文件夹中拾取以上传到服务器。
为了存储图像的缩小版本,我使用 AsyncTask。问题是文件存储程序很慢,可能需要长达 10 秒。
File pictureFile = getOutputMediaFile();
FileOutputStream fos = new FileOutputStream(pictureFile);
bitmap.compress(Bitmap.CompressFormat.PNG, 90, fos);
fos.close;
在图像存储过程中,用户很有可能在存储过程完成之前点击上传图像。因此,我要么必须想出一种方法来继续重试操作,直到图像文件准备好,要么将存储例程作为 UI 线程的一部分,这仍然会让用户等待,但这一次是为了显示缩略图。
有没有人做过类似的事情?是否有处理类似情况等的模式?
【问题讨论】:
标签: android android-asynctask android-image android-bitmap android-syncadapter