使用 onRetainNonConfigurationInstance(),实现快速旋转

例子如下:

public class ACompatibilityActivity extends Activity {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
if(getLastNonConfigurationInstance()==null){
System.out.println("first creat? Yes");
}else{
System.out.println("first creat? No");
}
}

@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
System.out.println("ACompatibilityActivity.onDestroy()");
}

@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
System.out.println("ACompatibilityActivity.onPause()");
}

@Override
protected void onStop() {
// TODO Auto-generated method stub
super.onStop();
System.out.println("ACompatibilityActivity.onStop()");
}

ArrayList<String> retainData;
//这里为简单的数据加载
@Override
public Object onRetainNonConfigurationInstance() {
super.onRetainNonConfigurationInstance();

  //会在第一次onCreat()的时候调用

//旋转后通过调用getLastNonConfigurationInstance()返回是否为null来决定是否还进行相关的数据加载
retainData = new ArrayList<String>();
retainData.add("1");
retainData.add("2");
retainData.add("3");
retainData.add("4");
retainData.add("5");
retainData.add("6");
return retainData;
}
}

更多相关文章

  1. Android 数据流量(3G,4G)与wifi 转换实时监听
  2. android中sqlite数据库操作
  3. 《Android》Lesson22-数据存储
  4. Android Listview设置监听器并获取子项数据
  5. android 中listview滑动加载的简单demo
  6. Android在WebView加载数据时展示loading的Dialog

随机推荐

  1. 暑期实训总结_李飞
  2. Android音频焦点处理
  3. Qt for Android编译报错提示:Install to d
  4. Android开发笔记(十七)GIF动画的实现GifAni
  5. Android应用程序插件化研究之资源冲突
  6. 探讨一下Android平台的视频类应用开发的
  7. android利用httpclient实现post、get请求
  8. 读书笔记-Android开发艺术探索-第11章-An
  9. Android(安卓)AsyncTask 的使用
  10. 对 Android(安卓)开发者有益的 40 条优化