android onSaveInstanceState的使用方法
2016-06-17 15:34
399 查看
package com.saveInstanceDemo.src; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; public class saveInstanceDemo extends Activity { private static final String TAG = "MyNewLog"; private int mCount = 0; private boolean mThreadDisble; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // If an instance of this activity had previously stopped, we can // get the original text it started with. if(null != savedInstanceState) { int IntTest = savedInstanceState.getInt("IntTest"); String StrTest = savedInstanceState.getString("StrTest"); Log.e(TAG, "onCreate get the savedInstanceState+IntTest="+IntTest+"+StrTest="+StrTest); } setContentView(R.layout.main); new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub while(true) { if(!mThreadDisble) { Log.v(TAG, Boolean.toString(mThreadDisble)); try{ Thread.sleep(1000); } catch(Exception e) { e.printStackTrace(); } mCount++; Log.v(TAG, "mCount : " + mCount); } } } }).start(); Log.e(TAG, "onCreate"); } @Override //为了防止万一程序被销毁的风险,这个方法可以保证重要数据的正确性 //不写这个方法并不意味着一定出错,但是一旦遇到了一些非常奇怪的数据问题的时候 //可以看看是不是由于某些重要的数据没有保存,在程序被销毁时被重置 public void onSaveInstanceState(Bundle savedInstanceState) { // Save away the original text, so we still have it if the activity // needs to be killed while paused. savedInstanceState.putInt("IntTest", mCount); savedInstanceState.putString("StrTest", "savedInstanceState test"); super.onSaveInstanceState(savedInstanceState); Log.e(TAG, "onSaveInstanceState"); } @Override public void onRestoreInstanceState(Bundle savedInstanceState) { super.onRestoreInstanceState(savedInstanceState); int mCount = savedInstanceState.getInt("IntTest"); String StrTest = savedInstanceState.getString("StrTest"); Log.e(TAG, "onRestoreInstanceState+IntTest="+mCount+"+StrTest="+StrTest); } public void onDestroy() { super.onDestroy(); this.mThreadDisble = true; } public void onPause() { Log.v(TAG, "onPause"); super.onPause(); mThreadDisble = true; } public void onResume() { Log.v(TAG, "onResume"); super.onResume(); mThreadDisble = false; } }
相关文章推荐
- AndroidStudio导入github项目
- Android String.xml特殊字符显示异常
- Android之短信截取
- android之menu详解
- Android 读写文件
- Android SharedPreferences基本用法
- 一次偶然机遇找到一个不错的关于Android实现加载gif动画的实例,写一下分享个大家。
- android开发(50) Android透明状态栏。适用于 4.4 以上及 5.0以上设备
- android studio中使用MPChart图表的准备
- Android 快速开发框架:推荐10个框架:afinal、ThinkAndroid、andBase、KJFrameForAndroid、SmartAndroid、dhroid..
- Android屏幕适配那些事儿
- android如何获取到启动类的包和类路径
- android studio中打包混淆
- android activity的四种启动模式
- 博客目录
- Android安全攻防战,反编译与混淆技术完全解析(上)
- android6.0源码分析之AMS服务源码分析
- Android安全攻防战,反编译与混淆技术完全解析(下)
- android 手指滑动顺时针逆时针判断
- [Android官方Demo系列] PageTransformer布局变更