我正在使用flex 4开发移动应用程序,用于服务器通信我正在使用java Web服务。实际上我需要将文件从服务器传输到移动设备,移动设备传输到服务器。当我执行此操作时,我的应用程序变得非常慢。所以我打算压缩文件并发送。但是当我使用GZIPOutputStream
或ZIPOutputStream
进行压缩时,它只是将文件压缩为.zip。无法减少太多文件大小。但我需要将文件大小降低到最低。文件格式可以是图像,视频或音频。请有人建议使用java进行此操作的一些想法。
答案 0 :(得分:2)
大多数音频,视频和图片格式已经过压缩,因此在传输前再次压缩内容无济于事。此外,压缩可能是cpu密集型的,因此您可能只是添加问题。
客户端或服务器是否会变慢? 我建议您在运行缓慢的应用程序上运行CPU探查器,以查明正在发生的事情。
答案 1 :(得分:1)
您要求我们提出一些建议。好,。我认为当您通过Web服务传输数据时,必须将数据转换为字节数组。我想,你收到整个字节并转换为文件然后编码/解码。因此,当您尝试编码某些图像或视频文件时,无法减小文件大小。所以我的想法是,更好的是你可以使用Base64Encoding和Base64Decoding通过口袋对数据进行编码。意味着,将文件转换为字节,对字节进行编码并发送,然后接收字节并进行解码,然后将其转换为文件。我认为这对你有帮助。