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菜鸟,建议您好好读一读,真的理解下来会有不一样的收获 在下才疏学浅, ...
随机推荐
- ArcGIS for Desktop入门教程_第八章_Desktop学习资源 - ArcGIS知乎-新一代ArcGIS问答社区
原文:ArcGIS for Desktop入门教程_第八章_Desktop学习资源 - ArcGIS知乎-新一代ArcGIS问答社区 1 学习资源 用户在学习和应用过程中,可以参考的资源如下: 1. ...
- 《Microsoft编写优质无错C程序秘诀》提纲
第1章 假想的编译程序1.使用编译程序所有的可选警告设施2.使用lint来查出编译程序漏掉的错误3.如果有单元测试,就进行单元测试第2章 自己设计并使用断言1.既要维护程序的交付版本,又要维护程序的调 ...
- VS中添加第三方库及相对路径设置
原文 VS中添加第三方库及相对路径设置 对于一些第三方的SDK,一般会包含头文件(*.h),静态库文件(*.lib)和动态库文件(*.dll). 1. 文件位置:为了提高程序的可移植性,将第三库放在 ...
- Qt使用第三方库3rdparty
简述 在 Qt 中经常会用到第三方库,例如:FFmpeg.OpenCV 等.第三方库的使用比较简单,只需要一些基本的配置就可以搞定,一起来看看吧! 简述 第三方库 源代码 库文件 目标目录 第三方库 ...
- Delphi XE6 如何设计并使用FireMonkeyStyle
介绍 FireMonkey使用Style来控制控件的显示方式. 每个控件都有一个StyleLookup属性,FireMonkey就是通过控件的这个属性来在当前窗体的StyleBook控件中查找匹配 ...
- php中$_REQUEST、$_POST、$_GET的区别
php中$_REQUEST.$_POST.$_GET的区别1. $_REQUEST php中$_REQUEST可以获取以POST方法和GET方法提交的数据,缺点:速度比较慢 . 2. $_GET 用来 ...
- linux上java和golang环境变量的设置
JAVA环境变量 (1).打开~/.bashrc完成环境配置( 作用类似于/etc/bashrc, 只是针对用户自己而言,不对其他用户生效.) 文件追加 expo ...
- lock和synchronized如何选择?
1.lock是一个接口,而synchronized是java关键字,synchronized是内置的语言实现. 2.synchronized在发生异常时,会自动释放线程占有的锁,因此不会导致死锁,而l ...
- Verilog写一个对数计算模块Log2(x)
网上一个能用的也没有,自己写一个把. 1.计算原理: 整数部分 网上找到了一个c语言的计算方法如下: int flog2(float x) { return ((unsigned&)x> ...
- spring 5.x 系列第8篇 —— 整合Redis客户端 Jedis和Redisson (代码配置方式)
文章目录 一.说明 1.1 Redis 客户端说明 1.2 Redis可视化软件 1.3 项目结构说明 1.3 依赖说明 二.spring 整合 jedis 2.1 新建基本配置文件和其映射类 2.2 ...