避免本地化资源开销

时间:2013-01-24 13:48:16

标签: android localization resources

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

由于应用程序正在运行后台服务,因内存压力导致它被杀死很烦人。当它是2.5MB时它似乎比仅1.6MB时更频繁。 因此,我希望减少应用程序的大小,避免在真正需要的时候在APK中发送所有语言。

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

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

热烈欢迎任何建议。

1 个答案:

答案 0 :(得分:2)

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

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

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

从底线开始,再次检查您的应用,并修复您的内存问题 - 您可能会走错路,试图将您的问题归咎于您的本地化资源。