【问题标题】:Photo Editing Mobile App for IOS and Android适用于 IOS 和 Android 的照片编辑移动应用程序
【发布时间】:2015-02-01 17:58:54
【问题描述】:

我们正在尝试为需要使用网络服务获取大照片的客户端构建照片应用程序。这些照片将是大小不等的高分辨率 JPG(大约在 5 - 7 mb 之间)。

我们面临的问题是如何获取一批照片(例如 10-15 张),将它们存储在本地应用程序中,并允许用户对它们执行编辑任务。我从我的团队了解到,如果我们编辑高分辨率照片,应用程序会因内存而崩溃。这意味着我们将不得不降低照片的分辨率和尺寸,这是合理的,但可能需要一段时间。下载和减少照片以保持良好的用户体验的最佳做法是什么?

为了提供一些背景知识,我们正在为 Android 和 IOS 构建应用程序。预期的功能是典型的滑动、捏合、基本编辑和高级编辑(如框架、文本叠加等)。

【问题讨论】:

    标签: android ios loading


    【解决方案1】:

    不确定这是一个用户体验问题,而不是关于应用架构的问题。 也许更适合 StackOverflow 或其他堆栈交换站点,但我会尝试从 UX 角度来处理它...

    用户期望

    • 您的用户是否希望编辑高分辨率并能够控制保持最高质量?还是他们只是对制作有趣的像素感兴趣并且不关心质量损失的临时用户?

      • 如果他们希望拥有控制权,您可以在下载前检查磁盘空间或设备容量,并为他们提供更小尺寸和更慢响应时间的选择。

        • 例如,如果他们使用的是较旧的非视网膜/低像素密度设备,则显示编辑高分辨率图像可能很困难的警告,并提供较小的版本作为替代方案。
      • 如何保存/上传已编辑的版本?如果用户使用质量较低的版本覆盖原件并且没有“另存为”或设置质量级别的选项,他们可能会感到不安。

    用例和设备规格

    • 假设:移动设备上的用户一次只能处理 1 张图像(可能 2 张)。

      • 没有移动设备足够大,无法同时在屏幕上显示多张高分辨率图像。将当前图像保存在内存中;仅显示其他人的缩略图(保存在光盘上),直到请求编辑然后交换;根据需要释放/重新加载资源。
    • 如果您的用户使用的是较旧的硬件(例如视网膜前 iPhone 3GS 或 iPad 2),那么 5-7MB 的图像(每边 >3000 像素)可能会有点慢,但较新的设备需要/处理 8- 12MP 图片本身。应该在设备的能力范围内一次打开/编辑一个。

      • 你是说不是这样吗??连一张图片都打不开?它是先保存到光盘,还是直接从 Web 服务在应用内打开?
    • 预先为整个批次验证足够的存储空间,或者在保存每个图像时验证足够的存储空间

      • 如果设备存储空间已满,请取消剩余下载并提醒用户哪些图像丢失

    可用性和响应性

    • 异步下载图片以避免阻塞 UI

    • 创建更小的低分辨率缩略图作为高分辨率版本的占位符。首先下载并显示缩略图以提供进度感,但要区分仍在加载的图像和可编辑的图像(带有进度条、透明度等)。

    • 在后台下载(可能是“应用内购买”)并保存到光盘。

      • 单独下载并保存到共享位置。这使它们以 10-15 个为一组进行组织,但让用户在第一个图像可用时立即开始工作。不要让他们等待所有人。
      • 可以使用带有进度条的单独“下载”视图并让用户在另一个选项卡/视图中继续工作
    • 只有在用户选择缩略图后,您才需要担心从光盘加载/显示大版本。您可以在编辑大图像时从内存中释放缩略图/加载视图并在必要时释放资源。仅在必要时重新加载。

    • 在后台自动保存到磁盘以防止丢失工作并借此机会清理缓存等。

    • 如果工作记忆已经成为一个问题,那么您将没有太多的撤消/重做选项。大多数图像编辑应用程序都可以做到这一点,所以有一种方法。

    【讨论】:

    • 非常感谢您的解释,它有帮助。我也会检查 Stack-overflow。
    猜你喜欢
    • 1970-01-01
    • 2018-11-07
    • 1970-01-01
    • 1970-01-01
    • 2018-01-12
    • 1970-01-01
    • 2017-05-30
    • 2018-09-03
    • 1970-01-01
    相关资源
    最近更新 更多