当一个Activity停止的时候,系统默认保存它的状态。这样当用户点back键回到前一个Activity的时候时,它的用户界面又像先前的样子呈现出来。但是,你能并且应该主动通过回调函数来保存activity的状态,以防activity被销毁而需要重新创建。
当系统停止了你的一个activity(例如当一个新的activity开始或者任务转入后台的时候),如果系统需要回收内存,它可能会完全销毁这个Activity。当这种情况发生的时候,这个activity的状态信息将会丢失。如果这样,系统仍然知道这个activity在回退栈中的位置,只不过当这个activity重新回当栈顶的时候,系统必须重新创建它(而不是恢复它)。为了避免丢失用户的工作,你必须主动地保有存它--通过在Activity里实现onSaveInstanceState()回调函数。