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

LetBox:美国洛杉矶/新泽西AMD大硬盘VPS,10TB流量,充值返余额,最低3.3美元两个月

LetBox此次促销依然是AMD Ryzen处理器+NVME硬盘+HDD大硬盘,以前是5TB月流量,现在免费升级到10TB月流量。另外还有返余额的活动,如果月付,月付多少返多少;如果季付或者半年付,返25%;如果年付,返10%。依然全部KVM虚拟化,可自定义ISO系统。需要大硬盘vps、大流量vps、便宜AMD VPS的朋友不要错过了。不过LetBox对帐号审核严格,最好注册邮箱和paypal帐号...

LOCVPS新上日本软银线路VPS,原生IP,8折优惠促销

LOCVPS在农历新年之后新上架了日本大阪机房软银线路VPS主机,基于KVM架构,配备原生IP,适用全场8折优惠码,最低2GB内存套餐优惠后每月仅76元起。LOCVPS是一家成立于2012年的国人VPS服务商,提供中国香港、韩国、美国、日本、新加坡、德国、荷兰、俄罗斯等地区VPS服务器,基于KVM或XEN架构(推荐选择KVM),线路方面均选择国内直连或优化方案,访问延迟低,适合建站或远程办公使用。...

racknerd新上架“洛杉矶”VPS$29/年,3.8G内存/3核/58gSSD/5T流量

racknerd发表了2021年美国独立日的促销费用便宜的vps,两种便宜的美国vps位于洛杉矶multacom室,访问了1Gbps的带宽,采用了solusvm管理,硬盘是SSDraid10...近两年来,racknerd的声誉不断积累,服务器的稳定性和售后服务。官方网站:https://www.racknerd.com多种加密数字货币、信用卡、PayPal、支付宝、银联、webmoney,可以付...

activity生命周期为你推荐
php开发工具PHP开发工具IDE哪个好用,请推荐几个?谢谢图像识别算法我想学习关于图像识别算法,但是讲到的数学知识我不太懂,希望大神们可以告诉我该怎么办。linux安装教程怎么装LINUX的系统....局域网ip扫描工具如何扫描局域网使用的设备蓝牙开发iOS的蓝牙开发跟Android有什么不同小蓝条AU多轨怎么调出每个音轨下面一个小蓝条调整音量团购网源码我想弄个自己的团购网站,请求帮助印度it印度IT业与中国IT业的差异?深度剖析!spinmaster手指滑板品牌wifi快速破解器电脑版电脑版,WIFI密码破解软件哪个好?
免费国外空间 域名主机管理系统 什么是域名地址 securitycenter stablehost 512m 512au 美国php空间 一元域名 云鼎网络 牛人与腾讯客服对话 天互数据 工信部icp备案号 asp免费空间申请 hkt raid10 美国独立日 下载速度测试 免费asp空间 重庆服务器 更多