activity生命周期activity 生命周期函数有哪些

activity生命周期  时间:2021-08-11  阅读:()

如何理解android activity生命周期

一个Android应用程序在运行时,对于底层的Linux Kernel而言都是一个单独的进程,但是对于Android系统而言,因为局限于手机画面的大小与使用的考虑,不能把每一个运行中的应用程序窗口都显示出来。

所以通常手机系统的界面一次仅显示一个应用程序窗口,Android使用了Activity的概念来表示界面。

运行中的应用程序分为五大类,分别是: 前景模式:foreground process 可见模式:visible process 背景模式:background process 空白模式:empty process 服务模式:service process 除了最后一个,貌似service process是Service的事情了。

其他都与Activity相关。

Android系统会判断应用程序Activity是属于哪一个类,给予不同的Activity生命周期。

Activity的生命周期也是它所在进程的生命周期。

activity生命周期中不一定被调用的是

onCreate():进行布局的初始化,当需要用到数据库时对数据进行绑定等操作, onStart():当activity处于可见之前调用onStart方法 onResume():当程序呈现在我们面前,并且能够与使用者进行交互 ():当activity不可见时调用 onRestart():当activity被执行方法后,如果activity还行继续运行,就会执行onRestart方法 onPause():当现在的activity被其他的activity覆盖时,此时被覆盖的activity执行onPause方法,onPause()方法中由于我们的activity被其他activity覆盖,因此我们需要保存被覆盖的activity的数据,当程序再次运行时这些信息不会丢失。

并且在onPause()中不能执行耗时的方法,如下载文件等,在onPause()方法中运行的程序一定很快,这样其他的activity才能尽快展现在我们面前。

onDestory():当activity不需要时调用,用于释放资源 从图中可以看的出来,一个Activity被创建后,就会调用3个方法,onCreate()、onStrart()、onResume()。

那么这三个方法何时被调用,用来干嘛呢? onCreate()方法,当一个Activity第一次被创建时首先被执行。

此方法中,设置一些静态的的配置。

例如加载布局文件设置应用标题,为按钮添加监听器等…… onStrart()方法,当一个Activity界面可见的时候执行。

即,当用户可以看到应用界面的时候执行该方法。

onResume()方法,当我们的Activity获得用户焦点的时候执行。

即,当前Activity可操作的时候,界面按钮可点可使用。

onPause()方法,如果在执行一个 Activity的时候,有另外一个Activity再被建立的时候,首先调用第一个Activity的onPause()方法。

例如当我们在玩游戏的时 候,突然来电话了,电话应用的Activity被建立。

此时需要先执行游戏Activity的onPause()方法。

用来存储游戏的数据和当前状态。

简 单的说,如果当前应用被迫停止,去执行其它Activity,onPause()方法被调用。

()方法,当前的Activity被迫停止,且新的Activity把原来的Activity完全遮挡住了,会调用第一个Activity的()方法。

onRestart()方法,当接完电话了,需要返回继续游戏,用来执行第一个Activity的onRestart()方法。

因为第一个Activity已经被建立,无需在创建。

此方法用来释放onPause()方法存储的临时数据。

onDestrory()方法,返回到了游戏界面的Activity,打电话的Activity被销毁了,执行onDestrory()方法。

什么样的activity会被android系统杀死呢? 程序十分的费资源而此时系统又急需要资源,此时这个activity就会被杀死掉。

那么如果activity在()时被杀死了,那么就不会执行onDestory()方法了,类似在onPause()时被杀死,()和onDestory()也都不会被执行了。

当需要保存用户数据时我们应该在onPause()中进行保存。

通常情况下,onCreate()、onStart()、onRestart()、onResume()不会被系统杀死,但是如果其中执行的程序太耗时的话还是会被系统杀死。

activity 生命周期函数有哪些

如果是当前Activity弹出的dialog则不会执行Activity任何生命周期中的方法,只有其它Activity弹出了Dialog或者拦住了当前的Activity才会执行onPause() 以下为Activity的生命周期图 关于Activity的生命周期的解释: 启动Activity:系统会先调用onCre

hostkvm:7折优惠-香港VPS韩国VPS,8折优惠-日本软银、美国CN2 GIA、新加坡直连VPS

hostkvm本月对香港国际线路的VPS、韩国CN2+bgp线路的VPS正在做7折终身优惠,对日本软银线路、美国CN2 GIA线路、新加坡直连线路的VPS进行8折终身优惠促销。所有VPS从4G内存开始支持Windows系统,当然主流Linux发行版是绝对不会缺席的!官方网站:https://hostkvm.com香港国际线路、韩国,7折优惠码:2021summer日本、美国、新加坡,8折优惠码:2...

vdsina:俄罗斯VPS(datapro),6卢布/天,1G内存/1核(AMD EPYC 7742)/5gNVMe/10T流量

今天获得消息,vdsina上了AMD EPYC系列的VDS,性价比比较高,站长弄了一个,盲猜CPU是AMD EPYC 7B12(经过咨询,详细CPU型号是“EPYC 7742”)。vdsina,俄罗斯公司,2014年开始运作至今,在售卖多类型VPS和独立服务器,可供选择的有俄罗斯莫斯科datapro和荷兰Serverius数据中心。付款比较麻烦:信用卡、webmoney、比特币,不支持PayPal...

RangCloud19.8元/月,香港cn2云主机,美国西雅图高防云主机28元/月起

rangcloud怎么样?rangcloud是去年年初开办的国人商家,RangCloud是一家以销售NAT起步,后续逐渐开始拓展到VPS及云主机业务,目前有中国香港、美国西雅图、韩国NAT、广州移动、江门移动、镇江BGP、山东联通、山东BGP等机房。目前,RangCloud提供香港CN2线路云服务器,电信走CN2、联通移动直连,云主机采用PCle固态硬盘,19.8元/月起,支持建站使用;美国高防云...

activity生命周期为你推荐
百度云论坛哪里需要资源网盘分流?论坛、网站介绍一个……js代码格式化js怎么得到一个格式化的日期中国银行卡号中国银行卡号是几位数?diskgenius免费版diskgenius免费版怎么用html源代码求html代码visio使用教程怎样使用visio画E-R图实数的定义什么是实数?实数的概念是什么赵锡成上海交大有什么好玩的vrrp配置路由器的配置子模式有哪些手机壳生产厂家手机保护套保护壳厂家
广州服务器租用 国外vps租用 看国外视频直播vps 香港vps99idc 分销主机 omnis 域名优惠码 directadmin tightvnc 华为4核 河南服务器 40g硬盘 秒杀预告 umax120 metalink 多线空间 电信托管 卡巴斯基免费试用版 空间购买 空间登入 更多