activity状态的保存和恢复】的更多相关文章

activity状态的保存和恢复 一.简介 1.保存activity状态 * 保存activity状态,onSaveInstanceState这个方法会自动保存有ID的组件的状态 * 没有ID的组件或者变量的状态的保存就需要我们重写这个方法* 这个方法是在activity被回收或者被销毁的时候保存的,比如横竖屏幕的切换等等 2.恢复activity状态 * 恢复activity状态 * onRestoreInstanceState方法会自动恢复有ID的或者说之前onSaveInstanceSta…
系统在某些情况下会调用onSaveInstanceState()和onRestoreInstanceState() 这两个方法来保存和恢复Activity的状态. 一句话:Activity在"非正常"情况下退出都会调用onSaveInstanceState()方法来保存Activity的状态. 关于系统调用这两个方法的时机参考这里:http://www.cnblogs.com/heiguy/archive/2010/10/30/1865239.html 和这里http://hukai.…
Activity状态保存的两种情况 一.Activity状态保持概念 保存Activity的状态是非常重要的,例如我们在玩一个游戏的时候,突然来了一个电话,这个时候在接听完电话之后我们返回到游戏中,这个时候我们希望游戏还是之前那个进度,或者说发生突发事件,游戏这个应用程序被关闭了,这个时候我们如果再重新打开游戏的话,我们如果还是希望回到之前的进度,我们就需要将其状态保存起来,这样在Activity被摧毁时,我们还能够根据保存的状态回到之前的进度.这就是Activity的状态保存. 二.Activ…
当置于后台的Activity因内存紧张被系统自动回收的时候,再次启动它的话他会重新调用onCretae()从而丢失了之前置于后台前的状态. 这时候就要重写Activity的两个方法来保存和恢复状态,具体用途举个例子:你正在编辑短信,这时候来了一个电话,打完电话回到短信界面, 短信刚好被系统回收重启,这时原先编辑了一半的内容总不能丢失了吧,这样影响用户体验.所以解决办法如下: private static final String INSTANCE_STATUS="instance_status&…
Android中突发情况Activity数据的保存和恢复 写在前面:在我们的APP使用的过程中,总有可能出现各种手滑.被压在后台.甚至突然被杀死的情况.所以对APP中一些临时数据或关键持久型数据,就需要我们使用正确的方式进行保存或恢复. 突发情况都有哪些? 因为本文讨论的是当一些突发情况的出现时,对数据的保存和恢复.所以现在总结一下突发情况应该都有哪些? 点击back键 点击锁屏键 点击home键 其他APP进入前台 启动了另一个Activity 屏幕方向旋转 APP被Kill 当这些突发情况发…
本文转载于:http://chengbs.iteye.com/blog/1156167 比较onsaveinstancestate() 与 onretainnonconfigurationinstance()在不同需求中的用法 很多网友可能知道android横竖屏切换时会触发onsaveinstancestate,而还原时会产生onrestoreinstancestate,但是android的activity类还有一个方法名为onretainnonconfigurationinstance和ge…
canvas.save()用来保存先前状态的 canvas.restore()用来恢复之前保存的状态 注:两种方法必须搭配使用,否则没有效果 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> <style> canvas{ border: 1px solid #000; } &…
Canvas的API提供了save()和restore()的方法,用于保存及恢复当前canvas绘图环境的所有属性. save()与restore()方法可以嵌套调用 save()方法将当前绘图环境压入堆栈顶部,restore()方法从堆栈顶部弹出一组状态信息,并据此恢复当前绘图环境的各个状态.这意味着可以嵌套调用save()和restore()方法. save() 将当前canvas的状态推送到一个保存canvas状态的堆栈顶部.canvas状态包括了当前的坐标变换(transformatio…
今天接到一个电面,途中面试官问到一个问题,如果一个activity在后台的时候,因为内存不足可能被杀死,在这之前如果想保存其中的状态数据,比如说客户填的一些信息之类的,该在哪个方法中进行. onSaveInstanceState虽然不是生命周期的方法,但只要activity在非主动的情况下杀死,就肯定会被调用. onSaveInstanceState方法被调用的需要注意的几个地方: 1.onSaveInstanceState() 和 onRestoreInstanceState()并不是生命周期…
效果图 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width…