我正在使用 flex 4 开发移动应用程序,我正在使用 java Web 服务进行服务器通信。实际上我需要将文件从服务器传输到移动设备和移动设备到服务器。当我执行此操作时,我的应用程序变得非常慢。所以我打算压缩文件并发送。但是当我使用GZIPOutputStream
orZIPOutputStream
进行压缩时,它只是将文件压缩为 .zip。无法减少太多文件大小。但我需要尽可能减少文件大小。文件格式可以是图像、视频或音频。请任何人提出一些想法来使用 java 进行此操作。
user1255899
问问题
2869 次
2 回答
2
大多数音频、视频和图像格式已经被压缩,因此在传输之前再次压缩内容不会有太大帮助。此外,压缩可能是 CPU 密集型的,因此您可能只是增加了问题。
是客户端还是服务器变慢了?我建议您在运行缓慢的应用程序上运行 CPU 分析器以查明发生了什么。
于 2012-08-13T07:49:34.860 回答
2
您要求我们提出一些想法。好的,。我认为当你通过 Web Services 传输数据时,你必须将数据转换为字节数组。我认为,您接收整个字节并转换为文件,然后编码/解码。因此,当您尝试对某些图像或视频文件进行编码时,您无法减小文件大小。所以我的想法是,你可以使用 Base64Encoding 和 Base64Decoding 逐个口袋地对数据进行编码。意思是,将文件转换为字节,编码字节并发送,接收字节并解码然后转换为文件。我认为这应该对你有所帮助。
于 2012-08-27T02:52:21.850 回答