mar*_*ari 10 java android android-fragments fragmenttransaction
在Android 文档中的 FragmentTransaction项中,描述了该方法replace()与为remove()当前视图中添加的所有片段调用方法相同,然后调用该方法add().在这种情况下,为了恢复前一个片段,我们可以使用addBackToStack(),这意味着事务状态仍由片段管理器管理,并在我们弹出堆栈时将反转其操作.
另一方面,当我们使用add()超出使用的实现事务时add().addBackToStack(),我们可以使用该detach()方法并使用attach()具有相同行为的片段来恢复addBackToStack().
那么这些场景之间的幕后差异是什么?
mar*_*ari 11
我研究越来越明显,之间的区别detach(),并addToBackStack ()在片段的生命周期.当我们在后台堆栈中添加Fragment时,会按顺序调用方法onPause(),onStop()然后调用onDestroyView().在这种状态下,片段清理与其视图关联的资源并"停留"在那里等待再次调用.从后向堆栈返回布局称为onCreateView()仅用于片段绘制其用户界面的方法.实际上,片段没有被破坏.
在另一方面,当我们detach()用来删除或替换片段时,按顺序调用所有相同的方法引用first(onPause())添加这两个方法:onStop(),最后清理片段的状态和onDetach(),将片段分离到不再与其活动相关联.
基本上,在幕后,它们没有相同的行为:使用onDestroyView()片段保持实例化onDestroy(),而不是.
| 归档时间: |
|
| 查看次数: |
3160 次 |
| 最近记录: |