我正在尝试在应用首次打开时下载特定于运营商的数据库。 由于它的运算符特定,我无法将此数据库捆绑为apk。
我已经实现了一种方法,使用DownloadManager下载my_operator_specif_db.db,然后通过SQLiteAssetHelper读取它。
db的大小是23 MB。由于我在标题中使用“Accept-Encoding:gzip”,它将下载此db的压缩版本,即8.3 MB。仍有8.3 MB的传输需要时间来下载不良的互联网连接。如果我下载一个内容相同的扁平csv文件,而不是这个数据库,那么它将以13mb RAW和3.8 mb压缩。
实际上,如果我有一个将flat csv文件加载到空的sqlite db的逻辑,我可以加快下载速度。
有关此方法的任何建议吗? 如何将csv文件加载到db?
答案 0 :(得分:0)
如果您下载的内容对于应用程序正常运行至关重要,那么23 MB并不是那么多,您可以随时使用wi-fi下载它(通常足够快)这就是说,你确实希望将下载量保持在最低限度,所以你可以做的是从原始文本文件构建数据库(或.csv,如果你拥有的话)。
在我看来,如果您要下载超过1 MB的内容,只需获取gzip压缩包,就可以省去麻烦。我这样说是因为在慢速连接上下载任何东西都会很慢。