Android的编程 – 帖子 10: 活动的生命周期
什么活动也原则, 其顺序和活动过多. 活动是一个Android应用程序的一个非常非常重要的一部分, 因此,你应该知道和需要知道的关于其活动. 这种循环的活动行为,所以我们把它的活动的生命周期.
[qads]
以上是说明了的动作 1 活动. 当活动被打开它会变成函数调用的onCreate (功能,使它), 其次是在onStart, onResume. 活动功能后onResume将正式运行,我们可以操纵的点击按钮活动,…
- 的onPause函数被调用中 2 后来TH:
+/ 当您打开一个活动,但作为对话, 的活动,是目前在另一个活动的顶部仍然看到活动的其它部分. 对话并不适用于适用于现有的活动对话框经常性支出.
+/ 当您从最近用过的应用列表中打开一个应用程序或其他其他Actiivty. 当这个函数被调用,并立即将的onPause然后调用调用OnStop. -
从这个暂停状态可以移动到活动 3 不同的状态:
+/ 回调函数返回onResume正常运行时,对话框会丢失
+/ 呼叫的功能调用OnStop当我们不调用另一个对话框,称为活动. 这就是所谓的从该活动的活动还是有一定的程序可以将其覆盖,而无需再次看到它,它会调用过 2 功能的onPause和调用OnStop. 当提及到活动状态调用OnStop是停止.
+/ 应用程序被转移到状态,回调函数过程杀害的onCreate. 当RAM和量没有制定强制性制度杀程序,就会出现此情况, 活性没有在当前时间使用的. -
从停止状态, 即呼叫后也调用OnStop 3 可能性.
+/ 关闭当前程序或活动覆盖其目前的, 它会调用回调函数onReStart, 然后调用调用onStart, onResume和恢复正常活动.
+/ 应用程序被转移到杀害地位进程, 同上.
+/ 打电话的OnDestroy并取消活动, 活动当你关闭系统关闭或由于缺乏RAM什么错误发生.
该理论是真的不容易想象, 所以你创建新项目,并创造更多的实践 2 新活动. 也就是说,我们有 3 活动离线.
特别是第二活动将被显示为一个对话, 要做到这一点, 您可以编辑文件,如下所示AndroidManifest:
<activity android:name=".SecondActivity" android:theme="@style/Theme.AppCompat.Dialog"></activity>
主要活动界面看起来像这样. 我们有 2 按钮显示对话和活动. 从那里,我们将看看,看看会发生什么.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.nguyenvanquan7826.tut9activityliftcycle.MainActivity"> <Button android:id="@+id/btnShowDialog" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Show Dialog" /> <Button android:id="@+id/btnShowActivity" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="32dp" android:text="Show Activity" /> </LinearLayout>
跟随, 在MainActivity.
package com.nguyenvanquan7826.tut9activityliftcycle; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; public class MainActivity extends AppCompatActivity implements View.OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); System.out.println("Main - onCreate"); setContentView(R.layout.activity_main); connectView(); } private void connectView() { findViewById(R.id.btnShowDialog).setOnClickListener(this); findViewById(R.id.btnShowActivity).setOnClickListener(this); } @Override public void onClick(View view) { switch (view.getId()) { case R.id.btnShowDialog: showDialog(); break; case R.id.btnShowActivity: showActivity(); break; } } private void showDialog() { startActivity(new Intent(this, SecondActivity.class)); } private void showActivity() { startActivity(new Intent(this, ThirdActivity.class)); } @Override protected void onStart() { super.onStart(); System.out.println("Main - onStart"); } @Override protected void onResume() { super.onResume(); System.out.println("Main - onResume"); } @Override protected void onPause() { super.onPause(); System.out.println("Main - onPause"); } @Override protected void onStop() { super.onStop(); System.out.println("Main - onStop"); } @Override protected void onRestart() { super.onRestart(); System.out.println("Main - onRestart"); } @Override protected void onDestroy() { super.onDestroy(); System.out.println("Main - onDestroy"); } }
编写函数调用onStart, 的onPause,… 快, 你把鼠标上的位置写, 按Ctrl + 该, 然后找到需要编写,通过输入函数的函数. 例如,它要覆盖你的下巴打开Ctrl的onPause + 该, 然后写 的onPause 将看到.
这里说明的结果离线视频.
最新评论