标签:
在一个fragment播放语音文件,一旦设备发生旋转,播放将暂停。因为fragment将重新生成。具体的流程步骤如下:
在Fragment的onCreate方法中,设置setRetainInstance(true);
具体的代码如下:
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRetainInstance(true); }
fragment本身的示例在activity destroy的时候,没有destroy掉,而是将其对应的view 销毁和重绘了.当activity下次重新创建的时候,会直接调用之前的fragment实例,绘制新的view.
当然此fragment是短时间保留状态,当操作系统内存不足需要回收内存的时候会被销毁掉。
具体的流程如下图所示
fragment的setRetainInstance(true);只能短暂的保存数据
如果需要长时间保存数据,使用其他的方式
标签:
原文地址:http://my.oschina.net/u/2253892/blog/477082