我有一个需要30MB数据库文件才能运行的应用程序。目前,首次运行时会下载(作为10MB的zip文件)。我正在考虑转而使用Google Play商店扩展文件。
除了从Google Play商店下载应用程序时显而易见的扩展文件依赖性,还有哪些优缺点?
例如,我正在考虑从中国境内访问时潜在的(Google)服务器问题。
编辑:该应用程序已使用当前的1MB APK进行了数十万次活动安装。如果我将zip文件放在资源中,那么APK将突然增加到11MB。我担心这可能会给可用存储空间不足的用户带来问题。此外,数据库也会定期更新(即最新下载最新的zip文件),因此看起来有点浪费。答案 0 :(得分:1)
除非您同时实施这两项规定,否则您将永远无法分发非Google Android应用商店。有很多:亚马逊,Nook商店,Appia,仅举几例。
答案 1 :(得分:1)
以下是我能想到的一些优点: 您不需要关心托管(您不需要为服务器/带宽付费) 我想说,如果文件位于谷歌的服务器上,那么文件的一般可用性也会更好(他们在世界各地都有冗余服务器,而你通常只有一台或两台服务器) 用户通常可以在市场下载完成后立即使用该程序(首次启动时无需额外等待)(除了谷歌声明的“某些情况”:http://developer.android.com/guide/google/play/expansion-files.html)
顺便说一句,谷歌声称'普通'apks的限制现在是50MB,所以你可能根本不需要扩展文件。
答案 2 :(得分:0)
对于10MB的资产,我认为使用扩展文件而不是在APK中捆绑资产没有多大优势。结合您(在某些时候)通过非Play商店分发应用程序的可能性(例如,您可能只想将APK发送给某人进行测试),您也可以忽略扩展文件选项。
如果您需要更新数据库,那么您可以只发布一个新的APK(使用更新的zip资产)或实现下载功能。最佳方法可能取决于数据库需要更新的频率。您是否比数据库更频繁地更新APK更新?
DownloadManager增加的复杂性在于它只能从Gingerbread向上提供。展望未来,当然,这不会成为一个问题。
底线:将zip捆绑为资产,只在您确实需要时才实现DownloadManager。
不确定将APK从1MB更新为11MB的风险(例如,用户没有足够的存储空间)。有人有这方面的经验吗?