Android在3.0之后,Activity引入了新的一个方法:recreate(),从字面意思就知道是重新创建Activity的,3.0+版本才可以使用。

/*** 调用recreate方法重新创建Activity会比正常启动Activity多调用了onSaveInstanceState* ()和onRestoreInstanceState()两个方法,onSaveInstanceState()会在onCreate方法之前调用。* 所以可以在onCreate()方法中获取onSaveInstanceState()保存的Theme数据* * @description:* @author ldm* @date 2016-4-19 上午9:34:49*/
public class MainActivity extends Activity implements OnClickListener {private Button recreate;private int mCurrentTheme;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 从onSaveInstanceState(Bundle outState)方法中保存的数据取出Themeif (savedInstanceState != null) {mCurrentTheme = savedInstanceState.getInt("mCurrentTheme");// 切换Activity的Themeswitch (mCurrentTheme) {case android.R.style.Theme_Holo_Light:mCurrentTheme = android.R.style.Theme_Holo_Dialog;break;case android.R.style.Theme_Holo_Dialog:mCurrentTheme = android.R.style.Theme_Holo;break;default:mCurrentTheme = android.R.style.Theme_Holo_Light;break;}setTheme(mCurrentTheme);}setContentView(R.layout.activity_main);this.recreate = (Button) findViewById(R.id.recreate);this.recreate.setOnClickListener(this);}@Overrideprotected void onSaveInstanceState(Bundle outState) {super.onSaveInstanceState(outState);outState.putInt("mCurrentTheme", mCurrentTheme);// 把当前Theme保存}@Overridepublic void onClick(View v) {recreate();// 直接调用Activity的recreate()方法重启Activity}
}

Activity重新创建之recreate相关推荐

  1. Android提升篇系列:Activity recreate(Activity 重新创建/自我恢复)机制(一)

    注:本文中的recreate是指当内存不足时,Activity被回收,但再次来到此Activity时,系统重新恢复的过程. 例如:当Activity A到Activity B时,如果内存不足,A被回收 ...

  2. Android 编程下 Activity 的创建和应用退出时的销毁

    为了确保对应用中 Activity 的创建和销毁状态进行控制,所以就需要一个全局的变量来记录和销毁这些 Activity.这里的大概思路是写一个类继承 Application,并使获取该 Applic ...

  3. Activity从创建到显示的整个过程

    写在前面的话 今天有点烦,有点烦.项目写的乱成团,改起需求真要完.此后当个加班狗,无钱无名心要宽. 昨晚写到十一点,我都差点不相信这是我自己了. 今天接着昨天的节奏来,准备写下关于Activity从创 ...

  4. Activtiy完全解析(一、Activity的创建过程)

    版权声明:本文为openXu原创文章[openXu的博客],未经博主允许不得以任何形式转载   在Android开发过程中,我们几乎每天都在跟Activity打交道.我们循规蹈矩的调用startAct ...

  5. Activity的重建(recreate)与恢复

    关于Activity的重建我们可以从以下三个方面去了解: Activity会出现重建的三种情况: 1. 系统内存不足:android系统会杀死一个进程,在系统需要释放内存的时候,而位于进程内的acti ...

  6. android activity横竖屏切换,Activity重新创建问题解决!

    activityA和B A跳转到B 1:在主配置文件中添加Bactivity,如果不想B在横竖屏切换的时候导致activity的销毁和重新创建;可在声明activity中添加 android:conf ...

  7. Android官方开发文档Training系列课程中文版:Activity测试之创建功能性测试

    原文地址:http://android.xsoftlab.net/training/activity-testing/activity-functional-testing.html 功能性测试包括模 ...

  8. Android官方开发文档Training系列课程中文版:Activity测试之创建单元测试

    原文地址:http://android.xsoftlab.net/training/activity-testing/activity-unit-testing.html Activity单元测试除了 ...

  9. Android官方开发文档Training系列课程中文版:Activity测试之创建运行测试

    原文地址:http://android.xsoftlab.net/training/activity-testing/activity-basic-testing.html 为了验证在布局与功能上没有 ...

最新文章

  1. .NET如何从配置文件中获取连接字符串
  2. ICRA2022 | OPV2V: 首个大型自动驾驶协同感知数据集+代码框架已开源
  3. iOS开发JSON字符串和字典互转
  4. iOS 6上的Safari是否缓存$ .ajax结果?
  5. 微信支付条码支付上线啦
  6. 华中科技大学c语言作业答案,华中科技大学标准C语言程序设计及应用习题答案...
  7. 【大学课程】线性代数基础知识点
  8. size_t和ssie_t的区别
  9. MongoDB 里面日期查询的问题
  10. [转]spring入门(六)【springMVC中各数据源配置】
  11. 文件夹文件遍历并插入数据库的操作,IO Directory File的递归操作
  12. linux的一个find命令rm删除某目录下所有子目录 中的某类文件
  13. linux纯终端下中文输入,Ubuntu 14.04 终端模式下中文输入 听歌
  14. 《白说》---- 读书笔记
  15. 硬盘分区被格式化了如何恢复
  16. 沉淀+树脂吸附工艺为铅酸电池废水处理提供新思路
  17. 百度大脑开放日走进厦门 全面解析AI如何赋能企业服务智能化
  18. 云开发(微信-小程序)笔记(十四)---- 收藏,点赞(上)
  19. 西电微电子考研初试经验贴
  20. ssm问题记录:NoSuchBeanDefinitionException: No qualifying bean of type ‘xxxl‘ available

热门文章

  1. 双线性内插法最近邻内插法-python(详细)
  2. Farrago for Mac(音频编辑软件)
  3. java panel paint_在paintbrush类型的GUI中,java – paintComponent()和paint()和JPanel对Canvas
  4. 1_28_python基础学习_0427
  5. DAC8822QBDBTR
  6. EGE基础入门篇(八):清屏与重绘
  7. rac rman备份和恢复
  8. E:Package 'Vim' has no installation candidate问题解决
  9. macbook 常用软件
  10. VS2010 将背景设为保护色