当前位置: 首页 > news >正文

网站策划的重要性千牛怎么做免费推广引流

网站策划的重要性,千牛怎么做免费推广引流,好玩网页传奇,网站建设赚钱吗要想理解Activity的生命周期,必先理解Activity的状态。 一、Activity状态 Android官方文档中把Activity分为下面三种状态: 1、Resumed(活动状态) 或者叫Running状态,这个Activity正在屏幕上显示,并且有用…

要想理解Activity的生命周期,必先理解Activity的状态。

一、Activity状态

Android官方文档中把Activity分为下面三种状态:

1、Resumed(活动状态)

或者叫Running状态,这个Activity正在屏幕上显示,并且有用户焦点。这个很好理解,就是用户正在操作的那个界面。

2、Paused(暂停状态)

这是一个比较不常见的状态。这个Activity在屏幕上是可见的,但是并不是在屏幕最前端的那个Activity。比如有另一个非全屏或者透明的Activity是Resumed状态,没有完全遮盖这个Activity。

比如下面这个情况,SecondActivity是Resumed状态,但是并未完全覆盖MainActivity,此时MainActivity就是Paused状态。


3、Stopped(停止状态)

当Activity完全不可见时,此时Activity还在后台运行,仍然在内存中保留Activity的状态,并不是完全销毁。

这个也很好理解,当跳转的另外一个界面,之前的界面还在后台,按回退按钮还会恢复原来的状态,大部分软件在打开的时候,直接按Home键,并不会关闭它,此时的Activity就是Stopped状态。


二、Activity生命周期

和Activity生命周期相关的方法有下面几个:

onCreate(Bundle savedInstanceState)

onStart()

onRestart()

onResume()

onPause()

onStop()

onDestroy()

相对来说方法数量比较多,初学者理解起来比较困难。

Android官方文档中把Activity生命周期分为三个区间:

1、The entire lifetime(整个生命周期)

是指在onCreate()和onDestroy()之间的周期。

一个人的一生,就是从出生开始,到死亡的这段时间。Activity生命周期也是一样,从Create开始,直到Destroy,二者在整个生命周期都只有一次。当用户新打开一个界面,此时会调用onCreate(),当用户关闭这个界面,例如按返回键,此时Activity就完全销毁,此时会调用onDestroy()。

这个周期之间包含上面所说的全部状态:Resumed、Paused、Stopped。

2、The visible lifetime(可见的生命周期)

是指在onStart()和onStop()之间的周期,包含在The entire lifetime

之中。在整个生命周期中可能会有多次。

这段周期包含Resumed、Paused两种状态,即两种Activity可见的状态。

当Activity会变为Stopped状态,例如在新的Activity覆盖掉原来的Activity时,会调用onStop()方法,重新回到原来的Activity时,又会调用onStart()。

3、The foreground lifetime(活动生命周期)

是指在onResume()和onPause()之间的周期,包含在The visible lifetime之中。在The visible lifetime中可能会有多次。

这段周期只包含Resumed一种状态,即前端获取焦点用户可操作的状态。

当Activity变为Resumed状态,会调用onResume()方法,反之会调用onPause()方法。

 

说到这里,还漏了一个onRestart(),很简单,Activity第一次onStart()会在onCreate()之后,如果在整个生命周期中再次onStart(),那么调用onStart()之前会调用onRestart()。


下面分别来进行上面三者的实验:

MainActivity界面上有两个按钮,分别是打开SecondActivity和ThirdActivity:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><Button android:id="@+id/secondActivityButton"android:layout_width="fill_parent"android:layout_height="wrap_content" android:text="打开SecondActivity"/><Button android:id="@+id/thirdActivityButton"android:layout_width="fill_parent"android:layout_height="wrap_content" android:text="打开ThirdActivity"/>
</LinearLayout>

在MainActivity.java中,重写生命周期相关方法,加上日志:

public class MainActivity extends Activity {private static final String TAG = "MainActivity";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initEvent();Log.v(TAG, "onCreate");}@Overrideprotected void onStart() {super.onStart();Log.v(TAG, "onStart");}@Overrideprotected void onRestart() {super.onRestart();Log.v(TAG, "onRestart");}@Overrideprotected void onResume() {super.onResume();Log.v(TAG, "onResume");}@Overrideprotected void onPause() {super.onPause();Log.v(TAG, "onPause");}@Overrideprotected void onStop() {super.onStop();Log.v(TAG, "onStop");}@Overrideprotected void onDestroy() {super.onDestroy();Log.v(TAG, "onDestroy");}private void initEvent() {// 点击打开SecondActivityButton secondActivityButton = (Button) findViewById(R.id.secondActivityButton);secondActivityButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View view) {Intent intent = new Intent(MainActivity.this, SecondActivity.class);startActivity(intent);}});// 点击打开ThirdActivityButton thirdActivityButton = (Button) findViewById(R.id.thirdActivityButton);thirdActivityButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View view) {Intent intent = new Intent(MainActivity.this, ThirdActivity.class);startActivity(intent);}});}
}

Second分别是两个测试Activity,代码和xml这里不再贴出来了。

最后AndroidManifest.xml:

    <applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name" ><activityandroid:name="com.example.app012.MainActivity"android:label="MainActivity" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><activityandroid:name="com.example.app012.SecondActivity"android:label="SecondActivity" ></activity><activityandroid:name="com.example.app012.ThirdActivity"android:label="ThirdActivity" android:theme="@android:style/Theme.Dialog"></activity></application>

这里SecondActivity是一个普通的Activity,ThirdActivity设置android:theme="@android:style/Theme.Dialog",表示它显示为一个对话框,打开ThirdActivity不会完全覆盖MainActivity状态,是用来实验MainActivity的Paused状态的。

 

实验步骤:

1、

在模拟器中运行程序,此时日志:

onCreate

onStart

onResume

再按返回键退出程序:

onPause

onStop

onDestroy

上面模拟了The entire lifetime整个生命周期,刚打开程序时onCreate到Activity销毁onDestroy。

 

2、

打开程序后,按“打开SecondActivity”按钮:

onPause

onStop

再按返回键回到MainActivity:
onRestart

onStart

onResume

再按Home键回到桌面:

onPause

onStop

再打开程序:

onRestart

onStart

onResume

以上模拟The visible lifetime,当MainActivity转到后台不可见时调用onStop,再次可见时onStart,由于是再次可见,会调用onRestart。


3、

打开程序后,按“打开ThirdActivity”按钮:

onPause

此时MainActivity没有完全被覆盖:


再按返回键:

onResume

上面模拟The foreground lifetime,失去焦点后onPause,重新得到焦点后onResume。


通过上面实验,可以看出:

The foreground lifetime(onResume到onPause)包含在Thevisible lifetime(onStart到onStop)之中,The visible lifetime包含在The entire lifetime(onCreate到onDestroy)之中。


作者:叉叉哥   转载请注明出处:http://blog.csdn.net/xiao__gui/article/details/11464603



http://www.lbrq.cn/news/2737027.html

相关文章:

  • mvc5做博客网站百度搜索关键词排名靠前
  • 本地网站可以做吗如何创建微信小程序
  • 动态表白网站制作叶涛网站推广优化
  • 职高网站建设例题全面的seo网站优化排名
  • 单人做网站搜索引擎的网站
  • 广州seo工作室电池优化大师下载
  • 网站站点不安全电话销售如何快速吸引客户
  • 哪里有做鸭的网站企业网站建设哪家好
  • 黑龙江做网站的公司有哪些郑州网络推广专业公司
  • 网站高防空间杭州百度百科
  • 杭州聚翔网络有限公司seo客服
  • 建设网站的难点seo页面优化技术
  • 秦皇岛网站开发广州新闻报道
  • wordpress本地下载如何快速优化网站排名
  • 做一个营销型网站网站运营一个月多少钱
  • 网站复制按钮怎么做的企业网页设计报价
  • 做动漫的游戏 迅雷下载网站宁波网站排名优化seo
  • 台州椒江网站建设淘词神器
  • 网页设计怎么做网站长沙公司网络营销推广
  • 这样建立网站网站怎么优化关键词排名
  • it外包公司是什么意思seo优化员
  • 自己如何做黑客网站网站建设怎么弄
  • 网站建设百度推广中国十大seo
  • 做一个平台网站大概多少钱惠州seo计费管理
  • 服务范围 网站建设公司郑州seo代理公司
  • 自己做一个网页怎么做搜索关键词排名优化
  • 网站建设柒首先金手指9潍坊快速网站排名
  • 怎么用ppt做网站设计企业查询天眼查
  • 做网站建设的价格google免费入口
  • 全国500强企业排名表搜索引擎优化的目标
  • 【图论】分层图 / 拆点
  • 暴雨服务器:以定制化满足算力需求多样化
  • AI 搜索时代:引领变革,重塑您的 SEO 战略
  • UI-TARS-Desktop 深度解析:下一代智能自动化桌面平台
  • mc paper 1.20.4
  • Transformer之多头注意力机制和位置编码(二)