Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a8acdbd1 authored by David Friedman's avatar David Friedman
Browse files

Docs: Fixes a terminology error in simplified Chinese on-boarding docs

Change-Id: Ib0ba3d449e78a0a69c0f704399b3865380bfcc8f
parent e562bb6b
Loading
Loading
Loading
Loading
+16 −16
Original line number Diff line number Diff line
page.title=管理活动生命周期
page.tags=活动生命周期
page.title=管理Activity生命周期
page.tags=Activity生命周期
helpoutsWidget=true

trainingnavtop=true
@@ -20,7 +20,7 @@ startpage=true

<h2>您还应阅读</h2>
<ul>
  <li><a href="{@docRoot}guide/components/activities.html">活动</a></li>
  <li><a href="{@docRoot}guide/components/activities.html">Activity</a></li>
</ul>


@@ -36,37 +36,37 @@ startpage=true

<p>当用户导航、退出和返回您的应用时,应用中的 {@link android.app.Activity} 实例将在其生命周期中转换不同状态。

例如,当您的活动初次开始时,它将出现在系统前台并接收用户焦点。
例如,当您的Activity初次开始时,它将出现在系统前台并接收用户焦点。

在这个过程中,Android 系统会对活动调用一系列生命周期方法,通过这些方法,您可以设置用户界面和其他组件。
如果用户执行开始另一活动或切换至另一应用的操作,当其进入后台(在其中活动不再可见,但实例及其状态完整保留),系统会对您的活动调用另外一系列生命周期方法。
在这个过程中,Android 系统会对Activity调用一系列生命周期方法,通过这些方法,您可以设置用户界面和其他组件。
如果用户执行开始另一Activity或切换至另一应用的操作,当其进入后台(在其中Activity不再可见,但实例及其状态完整保留),系统会对您的Activity调用另外一系列生命周期方法。


</p>

<p>在生命周期回调方法内,您可以声明
用户离开和再次进入活动时的活动行为。比如,如果您正构建流视频播放器,当用户切换至另一应用时,您可能要暂停视频或终止网络连接。当用户返回时,您可以重新连接网络并允许用户从同一位置继续播放视频。
用户离开和再次进入Activity时的Activity行为。比如,如果您正构建流视频播放器,当用户切换至另一应用时,您可能要暂停视频或终止网络连接。当用户返回时,您可以重新连接网络并允许用户从同一位置继续播放视频。


</p>

<p>本课讲述每个 {@link
android.app.Activity} 实例接收的重要生命周期回调方法以及您如何使用这些方法以使您的活动按照用户预期进行并且当您的活动不需要它们时不会消耗系统资源。
android.app.Activity} 实例接收的重要生命周期回调方法以及您如何使用这些方法以使您的Activity按照用户预期进行并且当您的Activity不需要它们时不会消耗系统资源。
</p>

<h2>课程</h2>
 
<dl>
  <dt><b><a href="starting.html">开始活动</a></b></dt>
  <dd>学习有关活动生命周期、用户如何启动您的应用以及如何执行基本活动创建操作的基础知识。
  <dt><b><a href="starting.html">开始Activity</a></b></dt>
  <dd>学习有关Activity生命周期、用户如何启动您的应用以及如何执行基本Activity创建操作的基础知识。
</dd>
  <dt><b><a href="pausing.html">暂停和继续活动</a></b></dt>
  <dd>学习活动暂停时(部分隐藏)和继续时的情况以及您应在这些状态变化期间执行的操作。
  <dt><b><a href="pausing.html">暂停和继续Activity</a></b></dt>
  <dd>学习Activity暂停时(部分隐藏)和继续时的情况以及您应在这些状态变化期间执行的操作。
</dd>
  <dt><b><a href="stopping.html">停止和重新开始活动</a></b></dt>
  <dd>学习用户完全离开您的活动并返回到该活动时发生的情况。</dd>
  <dt><b><a href="recreating.html">重新创建活动</a></b></dt>
  <dd>学习您的活动被销毁时的情况以及您如何能够根据需要重新构建活动
  <dt><b><a href="stopping.html">停止和重新开始Activity</a></b></dt>
  <dd>学习用户完全离开您的Activity并返回到该Activity时发生的情况。</dd>
  <dt><b><a href="recreating.html">重新创建Activity</a></b></dt>
  <dd>学习您的Activity被销毁时的情况以及您如何能够根据需要重新构建Activity
</dd>
</dl> 
+28 −28
Original line number Diff line number Diff line
page.title=暂停和继续活动
page.tags=活动生命周期
page.title=暂停和继续Activity
page.tags=Activity生命周期
helpoutsWidget=true

trainingnavtop=true
@@ -11,13 +11,13 @@ trainingnavtop=true
    
    <h2>本课程将向您展示如何</h2>
    <ol>
      <li><a href="#Pause">暂停活动</a></li>
      <li><a href="#Resume">继续活动</a></li>
      <li><a href="#Pause">暂停Activity</a></li>
      <li><a href="#Resume">继续Activity</a></li>
    </ol>
    
    <h2>您还应阅读</h2>
    <ul>
      <li><a href="{@docRoot}guide/components/activities.html">活动</a>
      <li><a href="{@docRoot}guide/components/activities.html">Activity</a>
      </li>
    </ul>

@@ -31,36 +31,36 @@ trainingnavtop=true
  </div>
</div>

<p>在正常使用应用的过程中,前台活动有时会被其他导致活动<em>暂停的可视组件阻挡</em>。
例如,当半透明活动打开时(比如对话框样式中的活动),上一个活动会暂停。
只要活动仍然部分可见但目前又未处于焦点之中,它会一直暂停。
<p>在正常使用应用的过程中,前台Activity有时会被其他导致Activity<em>暂停的可视组件阻挡</em>。
例如,当半透明Activity打开时(比如对话框样式中的Activity),上一个Activity会暂停。
只要Activity仍然部分可见但目前又未处于焦点之中,它会一直暂停。
</p>

<p>但是,一旦活动完全被阻挡并且不可见,它便<em>停止</em>(将在下一堂课中讨论)。
<p>但是,一旦Activity完全被阻挡并且不可见,它便<em>停止</em>(将在下一堂课中讨论)。
</p>

<p>当您的活动进入暂停状态时,系统会对您的 {@link android.app.Activity} 调用 {@link
android.app.Activity#onPause onPause()} 方法,通过该方法,您可以停止不应在暂停时继续的进行之中的操作(比如视频)或保留任何应该永久保存的信息,以防用户坚持离开应用。如果用户从暂停状态返回到您的活动,系统会重新开始该活动并调用
<p>当您的Activity进入暂停状态时,系统会对您的 {@link android.app.Activity} 调用 {@link
android.app.Activity#onPause onPause()} 方法,通过该方法,您可以停止不应在暂停时继续的进行之中的操作(比如视频)或保留任何应该永久保存的信息,以防用户坚持离开应用。如果用户从暂停状态返回到您的Activity,系统会重新开始该Activity并调用
{@link android.app.Activity#onResume onResume()} 方法。


</p>

<p class="note"><strong>注意:</strong>当您的活动收到对 {@link
android.app.Activity#onPause()} 的调用时,可能意味着活动将暂停
一会,并且用户可能从焦点返回到您的活动。但这通常意味着用户即将离开您的活动
<p class="note"><strong>注意:</strong>当您的Activity收到对 {@link
android.app.Activity#onPause()} 的调用时,可能意味着Activity将暂停
一会,并且用户可能从焦点返回到您的Activity。但这通常意味着用户即将离开您的Activity
</p>

<img src="{@docRoot}images/training/basics/basic-lifecycle-paused.png" />
<p class="img-caption"><strong>图 1.</strong>当半透明活动阻挡您的活动时,系统会调用 {@link android.app.Activity#onPause onPause()} 并且活动会在“暂停”状态下等待 (1)。
<p class="img-caption"><strong>图 1.</strong>当半透明Activity阻挡您的Activity时,系统会调用 {@link android.app.Activity#onPause onPause()} 并且Activity会在“暂停”状态下等待 (1)。

如果用户在活动仍然处于暂停状态时返回活动,则系统会调用 {@link android.app.Activity#onResume onResume()} (2)。
如果用户在Activity仍然处于暂停状态时返回Activity,则系统会调用 {@link android.app.Activity#onResume onResume()} (2)。
</p>


<h2 id="Pause">暂停活动</h2>
<h2 id="Pause">暂停Activity</h2>
      
<p>当系统为您的活动调用 {@link android.app.Activity#onPause()} 时,它从技术角度看意味着您的活动仍然处于部分可见状态,但往往说明用户即将离开活动并且它很快就要进入“停止”状态。
<p>当系统为您的Activity调用 {@link android.app.Activity#onPause()} 时,它从技术角度看意味着您的Activity仍然处于部分可见状态,但往往说明用户即将离开Activity并且它很快就要进入“停止”状态。

您通常应使用
 {@link android.app.Activity#onPause()} 回调:</p>
@@ -69,7 +69,7 @@ android.app.Activity#onPause()} 的调用时,可能意味着活动将暂停
  <li>停止动画或其他可能消耗 CPU 的进行之中的操作。</li>
  <li>提交未保存的更改,但仅当用户离开时希望永久性保存此类更改(比如电子邮件草稿)。
</li>
  <li>释放系统资源,比如广播接收器、传感器手柄(比如 GPS) 或当您的活动暂停且用户不需要它们时仍然可能影响电池寿命的任何其他资源。
  <li>释放系统资源,比如广播接收器、传感器手柄(比如 GPS) 或当您的Activity暂停且用户不需要它们时仍然可能影响电池寿命的任何其他资源。

</li>
</ul>
@@ -93,7 +93,7 @@ public void onPause() {

<p>一般情况下,您<strong>不得</strong>使用 {@link android.app.Activity#onPause()} 永久性存储用户更改(比如输入表格的个人信息)。
只有在您确定用户希望自动保存这些更改的情况(比如,电子邮件草稿)下,才能在 {@link android.app.Activity#onPause()}中永久性存储用户更改。但您应避免在 {@link
android.app.Activity#onPause()} 期间执行 CPU 密集型工作,比如向数据库写入信息,因为这会拖慢向下一活动过渡的过程(您应改为在
android.app.Activity#onPause()} 期间执行 CPU 密集型工作,比如向数据库写入信息,因为这会拖慢向下一Activity过渡的过程(您应改为在
{@link android.app.Activity#onStop onStop()}期间执行高负载关机操作。


@@ -101,30 +101,30 @@ android.app.Activity#onPause()} 期间执行 CPU 密集型工作,比如向数
</p>

<p>您应通过相对简单的方式在 {@link android.app.Activity#onPause
onPause()} 方法中完成大量操作,这样才能加快在您的活动确实停止的情况下用户向下一个目标过渡的速度。
onPause()} 方法中完成大量操作,这样才能加快在您的Activity确实停止的情况下用户向下一个目标过渡的速度。
</p>

<p class="note"><strong>注意:</strong>当您的活动暂停时,{@link
android.app.Activity} 实例将驻留在内存中并且在活动继续时被再次调用。您无需重新初始化在执行任何导致进入“继续”状态的回调方法期间创建的组件。
<p class="note"><strong>注意:</strong>当您的Activity暂停时,{@link
android.app.Activity} 实例将驻留在内存中并且在Activity继续时被再次调用。您无需重新初始化在执行任何导致进入“继续”状态的回调方法期间创建的组件。

</p>



<h2 id="Resume">继续活动</h2>
<h2 id="Resume">继续Activity</h2>

<p>当用户从“暂停”状态继续您的活动时,系统会调用 {@link
<p>当用户从“暂停”状态继续您的Activity时,系统会调用 {@link
android.app.Activity#onResume()} 方法。</p>

<p>请注意,每当您的活动进入前台时系统便会调用此方法,包括它初次创建之时。
<p>请注意,每当您的Activity进入前台时系统便会调用此方法,包括它初次创建之时。
同样地,您应实现{@link
android.app.Activity#onResume()} 初始化您在 {@link
android.app.Activity#onPause()} 期间释放的组件并且执行每当活动进入“继续”状态时必须进行的任何其他初始化操作(比如开始动画和初始化只在活动具有用户焦点时使用的组件)。
android.app.Activity#onPause()} 期间释放的组件并且执行每当Activity进入“继续”状态时必须进行的任何其他初始化操作(比如开始动画和初始化只在Activity具有用户焦点时使用的组件)。

</p>

<p>{@link android.app.Activity#onResume()} 的以下示例对应于以上的
 {@link android.app.Activity#onPause()} 示例,因此它初始化活动暂停时释放的照相机。
 {@link android.app.Activity#onPause()} 示例,因此它初始化Activity暂停时释放的照相机。
</p>

<pre>
+31 −31
Original line number Diff line number Diff line
page.title=重新创建活动
page.tags=活动生命周期
page.title=重新创建Activity
page.tags=Activity生命周期
helpoutsWidget=true

trainingnavtop=true
@@ -11,8 +11,8 @@ trainingnavtop=true
    
    <h2>本课程将向您展示如何</h2>
    <ol>
      <li><a href="#SaveState">保存活动状态</a></li>
      <li><a href="#RestoreState">恢复活动状态</a></li>
      <li><a href="#SaveState">保存Activity状态</a></li>
      <li><a href="#RestoreState">恢复Activity状态</a></li>
    </ol>
    
    <h2>您还应阅读</h2>
@@ -20,60 +20,60 @@ trainingnavtop=true
      <li><a href="{@docRoot}training/basics/supporting-devices/screens.html">支持不同屏幕</a>
</li>
      <li><a href="{@docRoot}guide/topics/resources/runtime-changes.html">处理运行时更改</a></li>
      <li><a href="{@docRoot}guide/components/activities.html">活动</a>
      <li><a href="{@docRoot}guide/components/activities.html">Activity</a>
      </li>
    </ul>

  </div>
</div>

<p>在有些情况下,您的活动会因正常应用行为而销毁,比如当用户按 <em>返回</em>按钮或您的活动通过调用
<p>在有些情况下,您的Activity会因正常应用行为而销毁,比如当用户按 <em>返回</em>按钮或您的Activity通过调用
 {@link android.app.Activity#finish()}示意自己的销毁。
如果活动当前被停止或长期未使用,或者前台活动需要更多资源以致系统必须关闭后台进程恢复内存,系统也可能会销毁活动
如果Activity当前被停止或长期未使用,或者前台Activity需要更多资源以致系统必须关闭后台进程恢复内存,系统也可能会销毁Activity

</p>

<p>当您的活动因用户按了<em>返回</em> 或活动自行完成而被销毁时,系统的 {@link android.app.Activity} 实例概念将永久消失,因为行为指示不再需要活动
<p>当您的Activity因用户按了<em>返回</em> 或Activity自行完成而被销毁时,系统的 {@link android.app.Activity} 实例概念将永久消失,因为行为指示不再需要Activity

但是,如果系统因系统局限性(而非正常应用行为)而销毁活动,尽管
{@link android.app.Activity} 实际实例已不在,系统会记住其存在,这样,如果用户导航回实例,系统会使用描述活动被销毁时状态的一组已保存数据创建活动的新实例。
但是,如果系统因系统局限性(而非正常应用行为)而销毁Activity,尽管
{@link android.app.Activity} 实际实例已不在,系统会记住其存在,这样,如果用户导航回实例,系统会使用描述Activity被销毁时状态的一组已保存数据创建Activity的新实例。


系统用于恢复先前状态的已保存数据被称为“实例状态”,并且是
 {@link android.os.Bundle} 对象中存储的键值对集合。
</p>

<p class="caution"><strong>注意:</strong>每次用户旋转屏幕时,您的活动将被销毁并重新创建。
当屏幕方向变化时,系统会销毁并重新创建前台活动,因为屏幕配置已更改并且您的活动可能需要加载备用资源(比如布局)。
<p class="caution"><strong>注意:</strong>每次用户旋转屏幕时,您的Activity将被销毁并重新创建。
当屏幕方向变化时,系统会销毁并重新创建前台Activity,因为屏幕配置已更改并且您的Activity可能需要加载备用资源(比如布局)。

</p>

<p>默认情况下,系统会使用 {@link android.os.Bundle} 实例状态保存您的活动布局(比如,输入到 {@link android.widget.EditText} 对象中的文本值)中有关每个 {@link android.view.View} 对象的信息。
<p>默认情况下,系统会使用 {@link android.os.Bundle} 实例状态保存您的Activity布局(比如,输入到 {@link android.widget.EditText} 对象中的文本值)中有关每个 {@link android.view.View} 对象的信息。

这样,如果您的活动实例被销毁并重新创建,布局状态便恢复为其先前的状态,且您无需代码。
这样,如果您的Activity实例被销毁并重新创建,布局状态便恢复为其先前的状态,且您无需代码。

但是,您的活动可能具有您要恢复的更多状态信息,比如跟踪用户在活动中进度的成员变量。
但是,您的Activity可能具有您要恢复的更多状态信息,比如跟踪用户在Activity中进度的成员变量。

</p>

<p class="note"><strong>注意:</strong>为了 Android 系统恢复活动中视图的状态,<strong>每个视图必须具有</strong>
<p class="note"><strong>注意:</strong>为了 Android 系统恢复Activity中视图的状态,<strong>每个视图必须具有</strong>
<a href="{@docRoot}reference/android/view/View.html#attr_android:id">{@code
android:id}</a> 属性提供的唯一 ID。
</p>

<p>要保存有关活动状态的其他数据,您必须替代
 {@link android.app.Activity#onSaveInstanceState onSaveInstanceState()} 回调方法。当用户要离开活动并在活动意外销毁时向其传递将保存的 {@link android.os.Bundle} 对象时,系统会调用此方法。
<p>要保存有关Activity状态的其他数据,您必须替代
 {@link android.app.Activity#onSaveInstanceState onSaveInstanceState()} 回调方法。当用户要离开Activity并在Activity意外销毁时向其传递将保存的 {@link android.os.Bundle} 对象时,系统会调用此方法。


如果系统必须稍后重新创建活动实例,它会将相同的 {@link
如果系统必须稍后重新创建Activity实例,它会将相同的 {@link
android.os.Bundle} 对象同时传递给 {@link android.app.Activity#onRestoreInstanceState
onRestoreInstanceState()} 和 {@link android.app.Activity#onCreate onCreate()}
方法。
</p>

<img src="{@docRoot}images/training/basics/basic-lifecycle-savestate.png" />
<p class="img-caption"><strong>图 2.</strong>当系统开始停止您的活动时,它会
调用 {@link android.app.Activity#onSaveInstanceState onSaveInstanceState()} (1),因此,您可以指定您希望在 {@link android.app.Activity} 实例必须重新创建时保存的额外状态数据。如果活动被销毁且必须重新创建相同的实例,系统将在 (1) 中定义的状态数据同时传递给 {@link android.app.Activity#onCreate onCreate()} 方法(2) 和 {@link android.app.Activity#onRestoreInstanceState onRestoreInstanceState()} 方法(3)。
<p class="img-caption"><strong>图 2.</strong>当系统开始停止您的Activity时,它会
调用 {@link android.app.Activity#onSaveInstanceState onSaveInstanceState()} (1),因此,您可以指定您希望在 {@link android.app.Activity} 实例必须重新创建时保存的额外状态数据。如果Activity被销毁且必须重新创建相同的实例,系统将在 (1) 中定义的状态数据同时传递给 {@link android.app.Activity#onCreate onCreate()} 方法(2) 和 {@link android.app.Activity#onRestoreInstanceState onRestoreInstanceState()} 方法(3)。



@@ -83,15 +83,15 @@ onRestoreInstanceState()} 和 {@link android.app.Activity#onCreate onCreate()}



<h2 id="SaveState">保存活动状态</h2>
<h2 id="SaveState">保存Activity状态</h2>

<p>当您的活动开始停止时,系统会调用 {@link android.app.Activity#onSaveInstanceState
onSaveInstanceState()} 以便您的活动可以保存带有键值对集合的状态信息。
此方法的默认实现保存有关活动视图层次的状态信息,例如 {@link android.widget.EditText} 小工具中的文本或{@link android.widget.ListView} 的滚动位置。
<p>当您的Activity开始停止时,系统会调用 {@link android.app.Activity#onSaveInstanceState
onSaveInstanceState()} 以便您的Activity可以保存带有键值对集合的状态信息。
此方法的默认实现保存有关Activity视图层次的状态信息,例如 {@link android.widget.EditText} 小工具中的文本或{@link android.widget.ListView} 的滚动位置。

</p>

<p>要保存活动的更多状态信息,您必须实现 {@link android.app.Activity#onSaveInstanceState onSaveInstanceState()} 并将键值对添加至 {@link android.os.Bundle} 对象。
<p>要保存Activity的更多状态信息,您必须实现 {@link android.app.Activity#onSaveInstanceState onSaveInstanceState()} 并将键值对添加至 {@link android.os.Bundle} 对象。

例如:</p>

@@ -117,17 +117,17 @@ android.app.Activity#onSaveInstanceState onSaveInstanceState()} 的超类实现



<h2 id="RestoreState">恢复活动状态</h2>
<h2 id="RestoreState">恢复Activity状态</h2>

<p>当您的活动在先前销毁之后重新创建时,您可以从系统向活动传递的
<p>当您的Activity在先前销毁之后重新创建时,您可以从系统向Activity传递的
{@link android.os.Bundle}
恢复已保存的状态。{@link android.app.Activity#onCreate onCreate()} 和 {@link
android.app.Activity#onRestoreInstanceState onRestoreInstanceState()} 回调方法均接收包含实例状态信息的相同 {@link android.os.Bundle}。
</p>

<p>因为无论系统正在创建活动的新实例还是重新创建先前的实例,都会调用 {@link android.app.Activity#onCreate onCreate()} 方法,因此您必须在尝试读取它之前检查状态 {@link android.os.Bundle} 是否为 null。
<p>因为无论系统正在创建Activity的新实例还是重新创建先前的实例,都会调用 {@link android.app.Activity#onCreate onCreate()} 方法,因此您必须在尝试读取它之前检查状态 {@link android.os.Bundle} 是否为 null。

如果为 null,则系统将创建活动的新实例,而不是恢复已销毁的先前实例。
如果为 null,则系统将创建Activity的新实例,而不是恢复已销毁的先前实例。

</p>

@@ -173,6 +173,6 @@ public void onRestoreInstanceState(Bundle savedInstanceState) {
android.app.Activity#onSaveInstanceState onSaveInstanceState()} 的超类实现,以便默认实现可以恢复视图层次的状态。
</p>

<p>要了解更多有关因运行时重启事件(例如屏幕旋转时)而重新创建活动的信息,请阅读<a href="{@docRoot}guide/topics/resources/runtime-changes.html">处理运行时更改</a>。
<p>要了解更多有关因运行时重启事件(例如屏幕旋转时)而重新创建Activity的信息,请阅读<a href="{@docRoot}guide/topics/resources/runtime-changes.html">处理运行时更改</a>。
</p>
+49 −49

File changed.

Preview size limit exceeded, changes collapsed.

+33 −33

File changed.

Preview size limit exceeded, changes collapsed.

Loading