【Android】Activity入门

Activity简介

 

            

    在现实生活中,我们经常会使用手机打电话、发短信、玩游戏、等,这就需要与手机界面进行交互。在Android系统中,用户与程序的交互是通过Activity完成的。简单的说,一个界面就是一个Activity。同时,Activity也是Android四大组件中最常用的一个。Android四大组件分别是:activity、service(服务)、content provider(内容提供者)、broadcast receiver(广播接收者)。

 

 

Activity启动模式

 

     

     Android采用任务栈(Task)的方式来管理Activity的实例。当启动一个应用时,Android就会为之创建一个任务栈,先启动的Activity压在栈底,后启动的Activity放在栈顶,通过启动模式可以控制Activity的任务栈中的加载情况。在实际的开发中,应根据特定的需求为每个Activity指定恰当的启动模式。Activity的启动模式有4种,分别是standard、singleTop、singleTask、singleInstance。在AndroidMainfest.xml中,通过<activity>标签的android:launchMode属性可以设置启动模式。

 

   Standard模式:在standard模式下,每启动一个Activity,它就会进入任务栈,并处于栈顶的位置,不会判定该Activity是否在栈中存在,每次启动都会创建一个新的实例,栈中的Activity满足先进后出的原则。Standard是Activity默认的启动模式,在不指定Activity启动模式的情况下,所有Activity使用的都是standard模式。

 

   SingleTop模式:与standard不同的是,如果要启动的实例Activity位于栈顶,可复用这个Activity。

 

   SingleTask模式:这种模式要求,每次启动一个Activity时,都会先检查栈中是否存在该实例。存在则直接使用,其上的Activity出栈。也就是说,这种模式要求栈中的同一Activity只能出现一次。

 

   SingleInstance模式:更厉害,整个系统中,此模式的Activity只能存在一个。会有一个单独个任务栈来管理这个Activity。启动这个Activity时,系统会先创建一个新的任务栈,再创建这个实例并把它放在栈顶。如果要启动的这个Activity已经存在,无论位于哪个应用程序或任务栈,都会把该Activity所在的任务栈转到前台显示出来。

 

Activity生命周期

 

 

    

    生命周期就是一个对象从创建到销毁的过程,每一个对象都有自己的生命周期。同样,Activity也具有相应的生命周期,Activity的生命周期中分为3种状态,分别是运行状态、暂停状态和停止状态。

 

    运行状态当Activity在平模的最前端时,它是可见的、有焦点的,可以用来处理用户的常见操作,如点击、双击、长按事件等,这种状态称为运行态。

 

    暂停状态比如说手机要删除一个东西,会弹出一个提示,提示框不会覆盖下面的界面,下面的界面就是暂停状态的Activity。在某些情况下,Activity对用户来说仍然是可见的,但它不再拥有焦点,即用户对它的操作是没有实际意义的。例如,当最上面的Activity没有完全覆盖屏幕或者是透明的,被覆盖的Activity仍然对用户可见,并且存活(它保留着所有的状态和成员信息并保持与Activity管理器的连接)。但当内存不足时,这个暂停状态的Activity可能会被杀死。

 

    停止状态当Activity完全不可见时,它就处于停止状态。但仍然保留着当前状态和成员信息。然而这些对用户来说都是不可见的,如果当系统内存不足时,这个Activity很容易被杀死。

 

    Activity从一种状态转为另一种状态时会触发一些事件,执行回调方法来通知状态的变化,具体方法如下:

    OnCreate(BundlesavedInstanceState):创建时执行

    OnStart():可见时执行

    Onrestart():回到前台,再次可见时执行

    Onresume():获取焦点时执行

    Onpause():失去焦点时执行

    Onstop():用户不可见进入后台时执行

    OnDestroy():销毁时执行

 

总结

 

     这些也算是基本的知识点的罗列,Activity在Android实际的开发中是很基础也很重要的东西,毕竟是四大组件之一嘛,还得一步一步来,慢慢总结,也要在实践中去认真体会。

 

评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值