android_activity_研究(一)
android中活动的概念(activity)是一个很重要的东东。这里有很多东东值得好好研究。最好的研究来源当然是官网啦,所以本人这里写一点对官网文章的研究心得。
一、活动(activity)的概念
在计算机世界,活动是一个类,是个类必然有很多它自己的属性、方法等,这个太抽象,不好理解;
在现实世界,活动就是一个界面,我们能看到的手机的界面,这个就好理解多了。
够简单吧!!如果国内出书的学者来解释这个东东的话,肯定是花一个篇章来解释这个概念,啰嗦啰嗦的,反而讲复杂了。官网的解释也就一句话而已~~
二、活动的状态
为了更好地理解活动的状态,咱不玩抽象。个人认为,计算机知识本身就是一个抽象的知识;抽象的知识用抽象的方法解释,那就等于没解释,这个往往也是国内闷骚的学者们喜欢的解释方式,因为这样方能显示他们的牛逼,不过他们确实像牛逼。
比如,有三个人,一个是A,一个是B,一个是C,C当然可以看到A和B了,所以就认为A和B是活动,C是用户。现在,C在一个屋子的外面,A和B在屋子的里面。A出来了,C看到他了,此时,A的状态就是活的;此时,B出来了,半个身子挡着A,此时,C可以看到B和A,但是B挡住了A的半个身子,此时,B是活的,A是暂停的;由于A是暂停的,当手机内存低的时候,系统会宰了他;此时,B把A的全身都挡住了,C看不到A了,此时A就是停止的状态,内存低的时候,系统还是会宰了他;更巧的是,此时系统的内训还真低了,系统真的把A给宰了,此时A的状态就是摧毁了。被摧毁的时候,A拥有的所有资源都被剥夺了。
经典的几大状态如下:
1. onCreate()(Bundle savedInstanceState);
活动刚创建时就会调用的。这里面,我需要做一切必须地初始化工作。还有一个参数是bundle类的。之前如果销毁的这个活动的参数被保存在bundle中,则在此方法中,可以通过bundle类再次找回这个鞋个数据;
2. onRestart()
之前活动被stop了吗?那么活动死灰复燃的时候,此方法派上用场。当然了,死灰复燃如果是重新create的话,那么调用的就是onCreate的方法,而不是这个方法了;
3. onStart()
此时的状态不伦不类,用户还是看不到界面;
用户看到界面了;
当前活动被暂停了。用户可以看到界面,但是无法交互操作了。只有当这个方法返回时,新的活动才能呈现出来;
6.onStop()
当前活动退居幕后;
嗝屁。我使用finish方法就会调用这个方法。
在onPause的时候,可能被系统宰了,因此,需要在该方法中保存该活动的数据,下次在oncreate的时候,还可以恢复。
android_activity_研究(一)的更多相关文章
- android_activity_研究(二)
这次开始玩玩活动的生命周期.废话不说,先搞个小应用,大体思路是:主界面有两个按钮,一个按钮按下后,出现第二个界面:另一个按钮按下后,出现第三个界面,真他妈简单. 一.主界面: 1. 主界面布局xml文 ...
- 闲来无聊,研究一下Web服务器 的源程序
web服务器是如何工作的 1989年的夏天,蒂姆.博纳斯-李开发了世界上第一个web服务器和web客户机.这个浏览器程序是一个简单的电话号码查询软件.最初的web服务器程序就是一个利用浏览器和web服 ...
- SQLSERVER聚集索引与非聚集索引的再次研究(上)
SQLSERVER聚集索引与非聚集索引的再次研究(上) 上篇主要说聚集索引 下篇的地址:SQLSERVER聚集索引与非聚集索引的再次研究(下) 由于本人还是SQLSERVER菜鸟一枚,加上一些实验的逻 ...
- 深入研究Visual studio 2017 RC新特性
在[Xamarin+Prism开发详解三:Visual studio 2017 RC初体验]中分享了Visual studio 2017RC的大致情况,同时也发现大家对新的Visual Studio很 ...
- 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践
提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...
- 对一致性Hash算法,Java代码实现的深入研究
一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法.一致性 ...
- SQLSERVER聚集索引与非聚集索引的再次研究(下)
SQLSERVER聚集索引与非聚集索引的再次研究(下) 上篇主要说了聚集索引和简单介绍了一下非聚集索引,相信大家一定对聚集索引和非聚集索引开始有一点了解了. 这篇文章只是作为参考,里面的观点不一定正确 ...
- 开源Word读写组件DocX 的深入研究和问题总结
一. 前言 前两天看到了asxinyu大神的[原创]开源Word读写组件DocX介绍与入门,正好我也有类似的自动生成word文档得需求,于是便仔细的研究了这个DocX. 我也把它融入到我的项目当中并进 ...
- 【移动端兼容问题研究】javascript事件机制详解(涉及移动兼容)
前言 这篇博客有点长,如果你是高手请您读一读,能对其中的一些误点提出来,以免我误人子弟,并且帮助我提高 如果你是javascript菜鸟,建议您好好读一读,真的理解下来会有不一样的收获 在下才疏学浅, ...
随机推荐
- 【Gerrit】Performance Cheat Sheet
首先说下做这件事情的主因,组内有人说Project repo sync有点慢,废话不多说,直接上图. 相关官方文档参考链接: 我的数据: ~/review_site/logs# fgrep " ...
- [UWP-小白日记16]UWP中的3D变换API
原文:[UWP-小白日记16]UWP中的3D变换API 还没开始 好久没写博客了,再来开坑. 正文 Transform3D:“这个和CSS的3D好像的说” PerspectiveTransform3D ...
- 【shell】gerrit同步备份脚本的实现
本期分享下gerrit如何实现备份,由于之前的一台代码服务器直接down掉,所以为了以防万一,开始备份gerrit数据,有人说,gerrit不过是个审查代码的工具,备份这个做什么,git是分布式代码管 ...
- SQL Server 2016新特性:DROP IF EXISTS
原文:SQL Server 2016新特性:DROP IF EXISTS 在我们写T-SQL要删除某个对象(表.存储过程等)时,一般会习惯先用IF语句判断该对象是否存在,然后DROP,比如: 旧 ...
- 个人博客链接英语MP3提示盗链
今天想在wordpress博客中添加一个MP3进行播放,但是遇到了两个问题. 第一是页面无法正常加载播放器所需要的组件,获取资源返回404错误,查看之后发现时找不到wordpress中的一个svg文件 ...
- 零元学Expression Blend 4 - Chapter 6 如何置入Photoshop档案以及入门动画设计
原文:零元学Expression Blend 4 - Chapter 6 如何置入Photoshop档案以及入门动画设计 本章将教大家如何把Photoshop档案置入Expression Blend ...
- 【必须知道】Enum_Flags
[Flags] enum AnyThings{ A=1, B=2, C=4, D=8 } 枚举赋值必须是2^n才可以,目的是实现他们的二进制表示中的 1 ,不要重叠,如 1=0001 2=0010 ...
- CentOS7 无法使用yum命令,无法更新解决方法
前言 设置网卡开机自动启动 设置国内dns服务器系统 修改CentOS-Base.repo中的地址 所参考的文章地址 前言 刚安装完的CentOS7的系统,发现无法使用yum命令进行更新,在更新的时候 ...
- Topshelf结合Quartz.NET实现服务端定时调度任务
这周接受到一个新的需求:一天内分时间段定时轮询一个第三方WebAPI,并保存第三方WebAPI结果. 需求分析:分时段.定时开启.定时结束.轮询.主要工作集中在前三个上,轮询其实就是个Http请求,比 ...
- ThoughtWorks 面试备忘录
ThoughtWorks 面试备忘录 前言 前段时间 ThoughtWorks 在网上和拉勾网合作搞了一次网络招聘,名为抛弃简历!让代码说话!,可谓赚足了眼球,很多程序猿纷纷摩拳擦掌.踊跃提交代码,在 ...