我们正在尝试为客户构建照片应用,其中需要使用网络服务获取大型照片。这些照片将是高分辨率的JPG尺寸(大约5-7 mb)。
我们面临的问题是如何获取一批照片(例如10-15),将它们本地存储在应用程序中,并允许用户对它们执行编辑任务。我从团队中了解到,如果我们编辑高分辨率照片,它会因内存而崩溃应用程序。这意味着我们必须降低照片的分辨率和大小,这是合理的,但可能需要一段时间。下载和缩小照片的最佳做法是什么,以保持良好的用户体验?
为了给出一些背景信息,我们为Android和IOS构建应用程序。预期的功能是典型的滑动,捏合,编辑与基本编辑和预先编辑,如框架,文本叠加等。
答案 0 :(得分:0)
不确定这是一个关于应用程序架构的UX问题。 也许更适合StackOverflow或其他堆栈交换站点,但我会试着从用户体验角度来看它......
用户期望
您的用户是否希望编辑高分辨率&控制保持最高质量?或者他们只是对制作有趣的pix& amp;不会关心质量的损失?
如果他们希望有控制权,您可以在下载之前检查磁盘空间或设备功能。为他们提供更小尺寸和更慢响应时间的选择。
使用案例&设备规格
假设:移动设备上的用户一次只能处理1张图片(可能是2张)。
如果您的用户使用较旧的硬件(例如视网膜前iPhone 3GS或iPad 2),那么5-7MB图像(每边大于3000px)可能会有点慢,但更新的设备需要/处理8-12MP图片自己。设备应该能够一次打开/编辑一个。
预先确认整个批次的足够存储空间,或者保存每张图像
可用性&响应性强>
异步下载图像以避免阻止UI
创建小得多的低分辨率缩略图,作为高分辨率版本的占位符。下载&首先显示缩略图以给出进步感,但区分仍在加载的图像和一个可用于编辑的(带有进度条,透明度等)。
在后台下载(可能是“应用内购买”)并保存到光盘。
只有在用户选择缩略图后,您才需要担心从光盘加载/显示大版本。您可以从内存和放大器中释放缩略图/加载视图。在编辑大图像时,如有必要,可以释放资源。仅在必要时重新加载。
在后台自动保存到光盘以防止丢失工作&抓住机会清理缓存&诸如此类的东西。