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

提速啦母鸡 E5 128G 61IP 1200元

提速啦(www.tisula.com)是赣州王成璟网络科技有限公司旗下云服务器品牌,目前拥有在籍员工40人左右,社保在籍员工30人+,是正规的国内拥有IDC ICP ISP CDN 云牌照资质商家,2018-2021年连续4年获得CTG机房顶级金牌代理商荣誉 2021年赣州市于都县创业大赛三等奖,2020年于都电子商务示范企业,2021年于都县电子商务融合推广大使。资源优势介绍:Ceranetwo...

宝塔面板企业版和专业版618年中活动 永久授权仅1888元+

我们一般的站长或者企业服务器配置WEB环境会用到免费版本的宝塔面板。但是如果我们需要较多的付费插件扩展,或者是有需要企业功能应用的,短期来说我们可能选择按件按月付费的比较好,但是如果我们长期使用的话,有些网友认为选择宝塔面板企业版或者专业版是比较划算的。这样在年中大促618的时候,我们也可以看到宝塔面板也有发布促销活动。企业版年付899元,专业版永久授权1888元起步。对于有需要的网友来说,还是值...

Dynadot COM特价新注册48元

想必我们有一些朋友应该陆续收到国内和国外的域名注册商关于域名即将涨价的信息。大概的意思是说从9月1日开始,.COM域名会涨价一点点,大约需要单个9.99美元左右一个。其实对于大部分用户来说也没多大的影响,毕竟如今什么都涨价,域名涨一点点也不要紧。如果是域名较多的话,确实增加续费成本和注册成本。今天整理看到Dynadot有发布新的八月份域名优惠活动,.COM首年注册依然是仅需48元,本次优惠活动截止...

activity生命周期为你推荐
boltzmann格子boltzmann方法应用及常见的程序代码在哪有详细介绍逗号运算符在C语言中逗号运算符有什么用呢?战棋类最好玩的战棋类网页游戏是什么 要可以自己控制的豆瓣fm电台豆瓣怎么听音乐蓝牙开发开发者选项里的蓝牙设置如何设置最好?蓝牙开发Android蓝牙开发代码怎么写?rs485协议HART modbus profibus 这三种协议有什么区别?这几种协议都是干什么用的?赵锡成赵锡成夫人简介碰撞球碰撞分为哪几种,分别解释一下第五人格抄袭那个模仿第五人格的游戏叫什么
英文域名 视频空间租用 天津服务器租赁 美国vps 免费域名跳转 阿里云邮箱登陆首页 justhost virpus pccw realvnc 免费ftp空间申请 ftp教程 百兆独享 美国网站服务器 web服务器安全 空间登陆首页 中国电信网络测速 论坛主机 买空间网 godaddy中文 更多