saveInstanceState + restoreInstanceState VS configChanges

问题描述 投票:1回答:1

我遇到了两种防止屏幕旋转时重新绘制活动的方法。其中之一是saveInstanceState + restoreInstanceState组合,我仍然无法成功实现。

另一个是在清单文件的活动标记中声明configChanges属性为方向

我很好奇两者之间的区别。

android android-manifest
1个回答
0
投票

这两种解决方案都与活动生命周期中的数据持久性有关。请阅读here有关生命周期的更多信息

[基本区别是,应用程序死后,使用save / restoreInstance组合(有很多不同的方法)是,您可以保存应用程序的状态,并且活动之前为recreated销毁后,您可以从系统传递到活动的捆绑包中恢复保存的实例状态。

configChanges

列出活动将自行处理的配置更改。在运行时发生配置更改时,默认情况下将关闭活动并重新启动活动,但是声明具有此属性的配置将阻止活动重新启动。 source

通常来说,我不建议您不要使用configChanges attr锁定应用程序中的方向,以防止您的活动死亡。只需保存其状态并通过LifeCycle恢复即可

© www.soinside.com 2019 - 2024. All rights reserved.