2011-04-14 58 views
3

onRetainNonConfigurationInstance()是否每次都在配置更改时调用,即当我更改设备的方向时?我重写它并检查它,但令我困惑的是这个注释在documentation每次配置更改时,onRetainNonConfigurationInstance()都会调用吗?

此功能纯粹是被称为一个 优化,你必须不依赖于 它被称为

确保在取向变化时调用此方法吗?

+0

相似的文章:http://stackoverflow.com/questions/4720927/should-i-implement-onretainnonconfigurationinstance – 2011-04-14 19:25:42

回答

3

此注意表示您的应用程序的功能不应该取决于onRetainNonConfigurationInstance被调用了正确的功能。也就是说,如果设备旋转,则您的程序不应该崩溃或行为异常,但onRetainNonConfigurationInstance而不是调用。

如果它确实被调用,那么您可以使用它来加速您的活动的重新创建。

+0

那么它将不会被调用的情况是什么? – Eugene 2011-04-14 19:19:14

+0

它是具体实现。该文档基本上为Android发行版实现者提供了自由处理这种他们想要的方式的自由,并警告应用程序开发人员您不能指望它。 – 2011-04-14 19:24:57

+2

@AndroidNoob:要稍微扩展,这意味着您应该始终检查getLastNonConfigurationInstance()是否未返回“null”。如果它返回null,那么你的代码需要做相应的调整。 – Squonk 2011-04-14 19:49:26

相关问题