我遇到了两种防止屏幕旋转时重新绘制活动的方法。其中之一是saveInstanceState + restoreInstanceState组合,我仍然无法成功实现。
另一个是在清单文件的活动标记中声明configChanges属性为方向
我很好奇两者之间的区别。
这两种解决方案都与活动生命周期中的数据持久性有关。请阅读here有关生命周期的更多信息
[基本区别是,应用程序死后,使用save / restoreInstance组合(有很多不同的方法)是,您可以保存应用程序的状态,并且活动之前为recreated销毁后,您可以从系统传递到活动的捆绑包中恢复保存的实例状态。
configChanges
列出活动将自行处理的配置更改。在运行时发生配置更改时,默认情况下将关闭活动并重新启动活动,但是声明具有此属性的配置将阻止活动重新启动。 source
通常来说,我不建议您不要使用configChanges attr锁定应用程序中的方向,以防止您的活动死亡。只需保存其状态并通过LifeCycle恢复即可