我的应用程序用户可以从应用程序的设置页面更改应用程序语言,因此我使用 Resources.updateConfiguration() 开发它。和 Context.createConfigurationContext() (用于弃用)。然而,几乎开发人员都使用 Locale.setDefault()
但我不知道为什么。我的应用无需 Locale.setDefault()
即可支持多语言。我读过document ,但这似乎太危险了。更改 JVM 的区域设置对于系统设置或其他应用程序是否安全?更改 JVM 区域设置的目的是什么?我认为使用 Resource.updateConfiguration()
和 Context.createConfigurationContext()
就足够了,但是为什么开发人员使用 Locale.setDefault()
方法呢?
最佳答案
我认为“安全”意味着“不影响其他应用程序”
据我所知,android 为每个启动的 apk/app 启动一个新的 JVM 实例。因此 Locale.setDefault()
不应影响其他 Android apk/应用程序。所以它应该是安全的。
我已经做到了here并且对其他应用程序没有任何影响。
关于java - Locale.setDefault() 安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42830742/