我有一个已本地化为 24 种语言的应用。 当我使用纯英语资源构建应用程序时,该应用程序为 1.6MB。 当我使用所有语言资源构建应用程序时,该应用程序为 2.5MB。 与语言相关的资源是几个 HTML 文件和 strings.xml。
由于应用程序正在运行后台服务,因此由于内存压力而被杀死是很烦人的。 2.5MB 时似乎比只有 1.6MB 时更频繁。 因此,我想通过避免在真正需要一种语言时在 APK 中提供所有语言来减小应用程序的大小。
我正在考虑制作一个几乎只有英语的 APK,并且用户可以在运行时从应用下载语言文件。
Android 中是否有执行此操作的框架,或者至少有模式或最佳实践?
热烈欢迎任何建议。
最佳答案
您不会因为 APK 的大小而出现内存问题。如果用户没有足够的空间来安装应用程序,这只会影响在设备上安装应用程序的能力。我认为您可能有一个不同的内存问题,您错误地将其归咎于您的内存问题(更深入地了解是否可以纠正该问题)。
您可以使用 Proguard 来消除最终 APK 中的资源,但我认为这不是一个明智的方法。链接:http://developer.android.com/tools/help/proguard.html
我还认为为每种语言创建单独的 APK 并不是一个好主意(事实上,这违反了 Play 市场的服务条款)。
底线是,再次检查您的应用,并修复内存问题 - 您可能会走上错误的道路,试图将问题归咎于本地化资源。
关于android - 避免本地化资源开销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14502896/