2

我有一个本地化为 24 种语言的应用程序。当我使用纯英语资源构建应用程序时,该应用程序为 1.6MB。当我使用所有语言资源构建应用程序时,该应用程序为 2.5MB。与语言相关的资源是几个 HTML 文件和 strings.xml。

由于该应用程序正在运行后台服务,因此由于内存压力而将其终止是很烦人的。2.5MB 时似乎比只有 1.6MB 时更频繁。因此,我想通过避免在真正需要一种语言时在 APK 中提供所有语言来减小应用程序大小。

我正在考虑制作一个几乎只有英语的 APK,并且用户可以在运行时从应用程序下载语言文件。

是否有在 Android 中执行此操作的框架,或者至少有模式或最佳实践?

任何建议都热烈欢迎。

4

1 回答 1

2

由于 APK 的大小,您不会看到内存问题。如果用户没有足够的空间来安装它,这只会影响在设备上安装应用程序的能力。我认为你可能有一个不同的内存问题,你错误地归咎于你的内存问题(做了更深入的工作,看看你是否可以纠正这个问题)。

您可以使用 Proguard 来消除最终 APK 中的资源,但我认为这不是明智的做法。链接:http: //developer.android.com/tools/help/proguard.html

我还认为为每种语言创建单独的 APK 并不是一个好主意(事实上,这违反了 Play Market 的服务条款)。

最重要的是,再次检查您的应用程序,并修复您的内存问题 - 您可能会走错路,试图将问题归咎于本地化资源。

于 2013-01-24T13:55:45.817 回答