-
执行相应地任务,因为线程池的大小问题,所以 AsyncTask 只应该用来执行耗时时间较短的任务,
-
比如 HTTP 请求,大规模的下载和数据库的更改不适用于 AsyncTask,因为会导致线程池堵塞,没有
-
线程来执行其他的任务,导致的情形是会发生 AsyncTask 根本执行不了的问题。
1.TCP三次握手
2.为什么TCP是可靠的,UDP早不可靠的?为什么UDP比TCP快?
-
TCP/IP协议高,因为其拥有三次握手双向机制,这一机制保证校验了数据,保证了他的可靠性。
-
UDP就没有了,udp信息发出后,不验证是否到达对方,所以不可靠。
-
但是就速度来说,还是UDP协议更高,毕竟其无需重复返回验证,只是一次性的
3.http协议了解多少,说说里面的协议头部有哪些字段?
-
http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议;http请求由三部分组成,分别是:请求行、消息报头、请求正文。
-
HTTP消息报头包括普通报头、请求报头、响应报头、实体报头
4.https了解多少
HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
5.谈谈 HTTP 中Get 和 Post 方法的区别
-
GET - 从指定的服务器中获取数据,明文发送内容
-
POST - 提交数据给指定的服务器处理
-
POST请求不能被缓存下来
-
POST请求不会保存在浏览器浏览记录中
-
以POST请求的URL无法保存为浏览器书签
-
POST请求没有长度限制
6.推送心跳包是TCP包还是UDP包或者HTTP包
心跳包的实现是调用了socket.sendUrgentData(0xFF)这句代码实现的,所以,当然是TCP包。
7.如何实现文件断点上传
在 Android 中上传文件可以采用 HTTP 方式,也可以采用 Socket 方式,但是 HTTP 方式不能上传
大文件,这里介绍一种通过 Socket 方式来进行断点续传的方式,服务端会记录下文件的上传进度,
当某一次上传过程意外终止后,下一次可以继续上传,这里用到的其实还是 J2SE 里的知识。
这个上传程序的原理是:客户端第一次上传时向服务端发送
“Content-Length=35;filename=WinRAR_3.90_SC.exe;sourceid=“这种格式的字符串,服务端 收到后会查找该文件是否有上传记录,如果有就返回已经上传的位置,否则返回新生成的 sourceid 以及 position 为 0,类似 sourceid=2324838389;position=0“这样的字符串,客户端收到返回后 的字符串后再从指定的位置开始上传文件。
1.Fragment 如何实现类似 Activity 栈的压栈和出栈效果的?
Fragment 的事物管理器内部维持了一个双向链表结构,该结构可以记录我们每次 add 的
Fragment 和 replace 的 Fragment,然后当我们点击 back 按钮的时候会自动帮我们实现退栈操作。
2.Fragment 在你们项目中的使用
-
Fragment 是 android3.0 以后引入的的概念,做局部内容更新更方便,原来为了到达这一点要
-
把多个布局放到一个 activity 里面,现在可以用多 Fragment 来代替,只有在需要的时候才加载
-
Fragment,提高性能。
Fragment 的好处:
-
Fragment 可以使你能够将 activity 分离成多个可重用的组件,每个都有它自己的生命周期和UI。
-
Fragment 可以轻松得创建动态灵活的 UI 设计,可以适应于不同的屏幕尺寸。从手机到平板电脑。
-
Fragment 是一个独立的模块,紧紧地与 activity 绑定在一起。可以运行中动态地移除、加入、交换等。
-
Fragment 提供一个新的方式让你在不同的安卓设备上统一你的 UI。
-
Fragment 解决 Activity 间的切换不流畅,轻量切换。
-
Fragment 替代 TabActivity 做导航,性能更好。
-
Fragment 在 4.2.版本中新增嵌套 fragment 使用方法,能够生成更好的界面效果
3.如何切换 fragement,不重新实例化
正确的切换方式是 add(),切换时 hide(),add()另一个 Fragment;再次切换时,只需 hide()当前, show()另一个
1.Activity和Fragment生命周期有哪些?
Activity——onCreate->onStart->onResume->onPause->onStop->onDestroy<