关于onSaveInstanceState的javadoc的渣渣翻译

/**
     * Called to retrieve per-instance state from an activity before being
     * killed so that the state can be restored in onCreate or
     * onRestoreInstanceState (the Bundle populated by this method will be
     * passed to both).
     * 在被杀死前调用这个方法去处理活动的每个实例状态,可以在OnCreate或者onRestoreInstanceState
     * 方法恢复(在这个方法中bundle是比较流行的传递参数的工具)
     * 
     * This method is called before an activity may be killed so that when it
     * comes back some time in the future it can restore its state. For example,
     * if activity B is launched in front of activity A, and at some point
     * activity A is killed to reclaim resources, activity A will have a chance
     * to save the current state of its user interface via this method so that
     * when the user returns to activity A, the state of the user interface can
     * be restored via onCreate or onRestoreInstanceState.
     * 在一个活动被杀死的时候,这个方法会被调用,这样当它在未来的时候再次返回可以保存它的状态。例如,如果活动B是在活动A
     * 前面启,在一些时候活动A被杀死来回收资源,活动A有机会去保存可以通过这个方法去保存用户界面的当前状态,这样,当用户回到
     * 活动A的时候,用户界面的状态可以通过onCreate或者onRestoreInstanceState方法恢复。
     * 
     * Do not confuse this method with activity lifecycle callbacks such as
     * onPause, which is always called when an activity is being placed in the
     * background or on its way to destruction, or onStop which is called before
     * destruction. One example of when onPause and onStop is called and not
     * this method is when a user navigates back from activity B to activity A:
     * there is no need to call onSaveInstanceState on B because that particular
     * instance will never be restored, so the system avoids calling it. An
     * example when onPause is called and not onSaveInstanceState is when
     * activity B is launched in front of activity A: the system may avoid
     * calling onSaveInstanceState on activity A if it isn't killed during the
     * lifetime of B since the state of the user interface of A will stay
     * intact.
     * 不要被活动的生命周期像onPause方法给迷惑,当一个活动是被放置在后台或者它的方法销毁了,或者在被销毁之前OnStop
     * 被调用的时候,onPause方法总是会被调用。一个例子就是OnPause和OnStop方法会被调用,当用户导航返回从活动B到
     * 活动A就没有这个方法:这里不需要在B调用onSaveInstanceState是因为特定的实例将再也不会恢复了,所以系统避免
     * 调用它。一个例子,当onPause被调用而onSaveInstanceState没有调用就是当活动B是启动在A的前面:如果活动
     * A在B的生命周期内没有被杀死,系统可能会避免在活动A调用OnSaveInstanceState。因为A的用户界面的状态将会保持
     * 完整。
     * 
     * The default implementation takes care of most of the UI per-instance
     * state for you by calling android.view.View.onSaveInstanceState() on each
     * view in the hierarchy that has an id, and by saving the id of the
     * currently focused view (all of which is restored by the default
     * implementation of onRestoreInstanceState). If you override this method to
     * save additional information not captured by each individual view, you
     * will likely want to call through to the default implementation, otherwise
     * be prepared to save all of the state of each view yourself.
     * 对于大多数UI实例状态的布局的实现来看,需要注意的就是在有一个id的层级的每个布局上调用
     * android.view.View.onSaveInstanceState),而且通过保存当前聚焦布局的id(所有的布局会通过onRes
     * toreInstanceState方法被恢复)。如果你覆盖这个方法,通过保存额外的信息,而不是通过捕获每个单独的布局的话,
     * 你可能想要通过默认的实现调用这个方法,否则可能会准备去保存每个布局、
     * 
     * If called, this method will occur before onStop. There are no guarantees
     * about whether it will occur before or after onPause.
     * 如果调用,这个方法将会在onStop方法之前被调用。不过这个不保证是否它将在onPause方法之前或者之后
     * 被调用
     * 
     * Overrides: onSaveInstanceState(...) in Activity Parameters: outState
     * Bundle in which to place your saved state.
     */

 

posted @ 2016-01-26 20:19  likeshu  阅读(156)  评论(0编辑  收藏  举报