Is Locale.setDefault() safe?
我的应用程序用户可以从应用程序的设置页面更改应用程序语言,因此我使用Resources.updateConfiguration()和Context.createConfigurationContext()开发了该语言(不建议使用)。 但是几乎所有开发人员都使用Locale.setDefault(),但是我不知道为什么。 我的应用无需Locale.setDefault()就可以支持多语言。 我阅读了文档,但似乎太危险了。 更改JVM的语言环境是否对系统设置或其他应用程序安全? 更改JVM语言环境的目的是什么? 而且我认为使用Resource.updateConfiguration()和Context.createConfigurationContext()就足够了,但是为什么开发人员使用Locale.setDefault()方法?
-
什么是"太危险"? 语言环境首先用于用户界面,其次用于格式化数字,日期等。您期望发生什么不好的事情?
-
SetDefault基本上是将应用程序语言设置为设备语言,为此,您需要授予应用程序访问设备所使用的语言的权限。
-
我不同意这一点。 她没有问如果将配置语言环境设置为Locale.getDefault()将会发生什么。 她对使用Locale.setDefault(Locale)设置JVM默认值的后果很感兴趣。
-
@ H.A.H。 太危险意味着用户系统设置或其他应用程序出现问题。 是的,我担心更改" JVM默认语言环境"。 我不知道k3bs回答之前,每个应用程序都有其新的JVM实例。 也感谢您的评论!
我认为"安全"的意思是"不会影响其他应用"
据我所知,android为每个启动的apk / app启动一个新的JVM实例。 因此Locale.setDefault()不应影响其他android apks / apps。 因此它应该是安全的。
我在这里做了,没有看到其他应用程序的影响。
-
感谢您的回答。 我找到了这个Android文档(developer.android.com/guide/components/fundamentals.html)。 像我这样的其他开发人员的附件。