我有一个PHP脚本,用于查询web服务。我希望将此查询的结果插入到Firebase实时数据库的一行中。然后,这个Firebase数据库将被Android应用程序监视更改。在Firebase中压缩数据
每行文本的数量通常可能是800 Kb,所以我想压缩它。否则,在OnDataChanged事件发生之前,我的应用程序需要下载800 Kb。
我所做的是(在PHP脚本)
遵循我接受800KB串形成的Web服务。 然后我在PHP脚本中运行GZip。 结果,我使用Base64_Encode,这就是我将结果插入到Firebase的结果。
它似乎工作正常,我似乎得到约90%的压缩,意味着只插入80Kb而不是800Kb。然而,这是一个“圆屋”的方式来做到这一点。
有没有更好的方法来做到这一点?当然必须有。有没有什么办法让Firebase转换为GZip字符串发送给我的应用程序?在所有应用程序使用Firebase SDK之后。
这里是PHP代码写入到火力地堡......
$compressed_gzipjson = gzencode($jsonresponse, 9);
$firebase->set(DEFAULT_PATH . '/' , base64_encode($compressed_gzipjson));
任何意见非常欢迎的确。
稍微修正,780KB压缩到110Kb,还是不错的。 – JohnMoll
而不是在评论中添加更正,单击您的问题下的[编辑](http://stackoverflow.com/posts/37534908/edit)链接,您可以修复它。 –