您的位置:首页 > 大数据 > 人工智能

Android笔记--对Android的四种LaunchMode和smail文件和scheme和http 的get、post的理解

2016-01-18 21:39 405 查看
对Android的四种LaunchMode的理解:

LaunchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是生成新的Activity实例,还是重用已存在的Activity实例,或者是和其他Activity实例公用一个task里。

这里简单介绍一下task的概念,task是一个具有栈结构的对象,一个task可以管理多个Activity,启动一个应用,也就创建一个与之对应的task。

1、Android的第一种LaunchMode:standard启动模式,

不管有没有已存在的实例,都生成新的实例。

2、Android的第二种LaunchMode:singleTop启动模式,

如果发现有对应的Activity实例正位于栈顶,则重复利用,不再生成新的实例。如果发现有对应的Activity实例,但不是位于栈顶,于是重新生成一个实例。

(这种情况适合用于接收通知启动的内容显示页面。)

例如,某个新闻客户端的新闻内容页面,如果收到10个新闻推送,每次都打开一个新闻内容页面是很烦人的。

3、Android的第三种LaunchMode:singleTask模式,

如果发现有对应的Activity实例,则使此Activity实例之上的其他Activity实例统统出栈,使此Activity实例成为栈顶对象,显示到幕前。

(这种情况适合作为程序入口点。)

例如:浏览器的主界面。不管从多少个应用启动浏览器,只会启动主界面一次,并且会清空主界面上面的其他页面。

4、Android的第四种LaunchMode:singleInstance模式,

singleInstance启动模式比较特殊,因为它会启用一个新的栈结构,将Acitvity放置于这个新的栈结构中,并保证不再有其他Activity实例进入。

说明:可以在一个新栈中创建该Activity的实例,并让多个应用共享该栈中的该Activity实例。

一旦该模式的Activity实例已经存在于某个栈中,任何应用再激活该Activity时都会重用该栈中的实例。

其效果相当于多个应用共享一个应用,不管谁激活该 Activity 都会进入同一个应用中。

(这种情况适合需要与程序分离开的页面。)

例如闹铃提醒,将闹铃提醒与闹铃设置分离。

注意:singleInstance不要用于中间页面,如果用于中间页面,跳转会有问题,

比如:A -> B (singleInstance) -> C,完全退出后,在此启动,首先打开的是B。

对smail文件的理解:

smail文件是一种能够运行在java虚拟机上面的汇编语言。

对scheme和的理解:

scheme就是一种访问规则。比如http:\\A,可以上网根据A来确定打开那个网页;sms:A,可以根据A给谁发短信等等。

对http 的get、post的理解:

1、一个URL地址,它用于描述一个网络上的资源。

而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。

到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。

2、根据HTTP规范,GET用于信息获取。根据HTTP规范,POST表示可能修改变服务器上的资源的请求。

3、GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),

以?分割URL和传输数据,参数之间以&相连,如:login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。

如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,

其中%XX中的XX为该符号以16进制表示的ASCII。

POST把提交的数据则放置在是HTTP包的包体中。

4、Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求。

5、POST的安全性要比GET的安全性高。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息