【发布时间】:2012-07-12 19:36:53
【问题描述】:
默认情况下,如果用户在我的应用程序运行时更改其设备的显示语言,Android 将销毁然后重新创建 Activity。这样做是为了确保我的应用正确使用最新设置。
我可以通过将locale 添加到清单中的configChanges 属性来覆盖此行为。然后当用户改变语言时,我只会得到一个回调到onConfigChanged(),而不是完全重启。但是documentation 说我应该再次“检索所有资源”:
所有这些配置更改都会影响应用程序看到的资源值。因此,在调用 onConfigurationChanged() 时,通常需要再次检索所有资源(包括视图布局、可绘制对象等)以正确处理更改。
我的问题是,对于语言环境更改真的是这样吗?如果我有一个从不使用用户语言设置的假设应用程序,并且只使用 GLSurfaceView 呈现图形,那么忽略此事件是否安全?如果是这样,你能用文档备份吗?
忽略事件 似乎 正常运行,当我不使用任何语言环境时重新创建视图没有多大意义,但我想确定我我不会引入一些微妙的错误。
非常感谢任何信息。
【问题讨论】:
标签: android glsurfaceview android-configchanges