我刚刚阅读了关于维护我的Android应用程序的状态并偶然发现了onRetainNonConfigurationInstance。但在阅读documentation时,我注意到了这句话:
此函数纯粹称为优化,您不能依赖它被调用。
所以我想知道:什么时候使用这种方法真的很有意义。如果我不能依赖它被调用,我还需要另一种机制来传输状态(在我的情况下,这将是一些序列化)。因此,除非我遇到任何性能命中,否则我有理由选择onRetainNonConfigurationInstance吗?
如果可以保证被叫,我会喜欢使用它,但如果不是,它似乎没用。
我错过了什么吗?你什么时候使用这种方法?你会如何保持网络连接或类似的东西?
谢谢!
答案 0 :(得分:12)
文档的含义是,有些情况下不会立即重新创建Activity,在这种情况下,不会调用onRetainNonConfigurationInstance()。您无法使用此方法来保留数据。它仅用于传输在配置更改期间创建的昂贵对象。