在一個fragment播放語音文件,一旦設備發生旋轉,播放將暫停。由於fragment將從新生成。具體的流程步驟以下: java
在Fragment的onCreate方法中,設置setRetainInstance(true); spa
具體的代碼以下: 操作系統
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRetainInstance(true); }
fragment自己的示例在activity destroy的時候,沒有destroy掉,而是將其對應的view 銷燬和重繪了.當activity下次從新建立的時候,會直接調用以前的fragment實例,繪製新的view. code
固然此fragment是短期保留狀態,當操做系統內存不足須要回收內存的時候會被銷燬掉。 內存
具體的流程以下圖所示 it
fragment的setRetainInstance(true);只能短暫的保存數據 class
若是須要長時間保存數據,使用其餘的方式 原理