Activity概述

来源:互联网 发布:java erp系统开发 编辑:程序博客网 时间:2024/05/16 12:41

1.Activity介绍

activity是android四大组件中的一员,一个应用程序会有多个松耦合的activity组成。一般一个应用程序第一次启动会呈现被指定的“main”activity。
activity是通过一种activity栈来管理的,除了最上层的activity,其它的activity都会在某种情况,比如内存不足时会被回收。

在AndroidManifest.xml中注册
<manifest ... >  <application ... >      <activity android:name=".ExampleActivity" />      ...  </application ... >  ...</manifest >
启动一个activity
Intent intent = new Intent(this, SignInActivity.class);startActivity(intent);

Intent intent = new Intent(this, SigninActivity.class);    startActivityForResult(intent, REQUEST_CODE);


2.Activity生命周期

首先看一下官网上的一表:

这里主要涉及的方法有:
onCreate:一个activity启动调用的第一个方法,主要是做一些界面设置,数据初始化等工作。
onStart:这个方法是activity被转化为active状态是被调用。
onResume:获取焦点的时候被调用。
onPause:转到pause状态的时候被调用,有些重要信息也可以进行保存,因为这个阶段开始,activity会在系统内存不够时被kill掉。
onStop:转到stop的时候被调用。
onDestroy:在activity被销毁后调用,主要释放资源,清理内存。

在官网上有把整个生命周期分为3种阶段:
第一种、整个生命周期:在onCreate和onDestroy之间。在onCreate中设置布局等状态,在onDestroy中释放资源;在onCreate中开启的的线程,在onDestory中停止这个线程
第二种、可见生命周期:在onStart和onStop之间。比如在onStart中注册一个Broadcast,在onStop中注销掉。
第三种、前台生命周期:在onResume和onPause之间。在这个阶段是activity获取焦点和用户进行交互的状态。

3.Activity通讯方式

Intent方式:
Intent intent = new Intent(this, NextActivity.class);intent.putExtra(name, value);startActivity(intent);// 启动新的 Activity

sharedPreference方式:
SharedPreferences preferences = getSharedPreferences(name, mode); Editor editor = preferences.edit();  editor.putString(key, value); editor.commit(); 
还有sqlite,文件等方式。


4.Activity中注意点

1.在用intent传递对象时需要对对象进行序列化(实现Serializable)

2.在activity中注意关闭线程

3.在finish前一定要把dialog给dismiss

4.在onPuase中不要做耗时的操作

5.activity切换时A调用onPause,B调用onCreate,onStart,onResume,A调用onStop

0 0
原创粉丝点击