使用replace替换Fragment的时候界面会缓存当前的界面状态,再次进入这个Fragment的时候会缓存展示最后一次的界面UI
在不退出APP的情况下,如果把对界面的修改语句写在onStart或onResume方法中, 每次息屏再重新打开应用时都会重新加载onStart和onResume方法, 导致界面缓存成上次关闭的时候样式。
在Fragment源码里面有提个onViewStateRestored方法
这个方法就是用来显示View之前保存的状态的,且这个方法运行在onActivityCreated方法之后,onStart方法之前,在这个方法里面做更新View的操作是可以生效的,而且,按home键又重新打开应用时是不会调用这个方法的,这样一来只要把更新界面的代码写在这个方法里,就可以解决页面缓存的问题了。