1

这个问题有点笼统,所以我不会提供任何具体的代码,因为它是无关紧要的。

我有一个应用程序,允许用户拍照,并希望将来能拍视频。目前它发生如下:

  1. 用户在一个活动中打开一个对话框。
  2. 用户可以选择拍摄一张图片,这会将他发送到一个 CameraActivity(使用 CameraX)。
  3. 用户拍摄一张图片,图片保存在本地的应用程序文件中,并将结果代码和图片路径发送到调用活动。
  4. 该对话框覆盖 onActivityResult 并从内部存储加载图像并显示它。
  5. 用户可以选择删除图像或取消整个对话框,在这两种情况下都需要从存储中删除图像。(该过程可能发生在同一个对话框中的多个图像)

我想问你这是否是一个合理的实现,或者你会推荐使用其他架构\android 组件。更具体地说,如果我想提高质量或对更重的视频执行相同的过程,我担心在本地保存图像所需的时间(如果我想保存,我已经看到了相当多的额外时间它是 png 而不是 jpeg)。

我能想到的对系统的两个改进:

  • 使用类似于 ViewModel 的东西来保存位图并在从相机活动返回对话框时获得可用数据。
  • 将数据保存到缓存而不是本地存储(如果用户在对话框中批准,仅将其保存到本地存储)。

但我想听听建议,有什么我应该知道的特定 API 吗?还是建议对架构进行更改?当前的系统对于更高质量的图像或视频来说太慢了,我不确定如何最好地改进事情,也不会让应用程序在资源方面过于消耗。

4

0 回答 0