安卓 :如何将20mb以上的大数据从服务器获取到安卓



在我的Android应用程序中,当用户从新设备登录时,我想从服务器数据库中下载他的所有数据,该数据库的大小可能超过20MB。此数据包括转换为字符串的位图图像。当用户上传图像时,到目前为止我所做的就是将此图像转换为位图,然后将其转换为字符串,然后将其保存到数据库,之后此数据将通过同步保存到服务器数据库。如果同一用户从新设备登录,我需要使用网络服务从服务器获取所有这些数据。现在我正在使用 resttemplate 来加载这些数据,但问题是当有超过 20mb 的数据主要包含一些图像数据时,Web 服务可能会根据图像大小花费更多时间。有没有更好的方法来处理图像?

您可以使用 aws s3。图像可以保存在 s3 存储桶中,这为我们提供了 URL。在应用程序中加载所有详细信息而不是加载整个图像时,只需要发送 s3 URL。图像可以稍后下载,同时使用毕加索或glide等库将它们加载到图像视图中。

不要使用位图图像(不管你的意思是什么(,而是使用jpg的图像。不要将它们转换为 base64,因为数据量会增加 30%。不要将它们保存在服务器上的数据库中,而是像普通文件一样保存在服务器文件系统中。

然后只需向Android客户端提供20个文件的20个url,并让Android客户端决定何时以及如何从url下载图像。

或者,您也可以让 base64 编码的图像进入数据库。只需将 20 个 ID 或文件名(用于 20 个文件(发送到 Android 客户端即可。然后让 Android 客户端决定何时使用带有参数 ID 的网址下载图像。

相关内容

  • 没有找到相关文章

最新更新