技术菜鸟自己平时慢慢积累的Android面试基础大纲(在不断更新中),非常建议走过路过的各位拨乱反正
一、Socket
基于TCP和UDP协议,TCP比较常用是用流的形式进行传输,UDP在网络条件比价差的时候效果很好,通过包的形式进行传输。
TCP(客户端A,服务器B)连接需要三次握手:
1、建立连接。客户端发送连接请求报文段,A发送信息给B
2、服务器收到客户端的报文后进行确认,即B收到连接信息后向A返回确认信息
3、A收到确认信息后再返回B确认连接信息
客户端步骤:
1、设置权限
2、开辟线程Thread,在线程中连接服务器并获取输入流和输出流,并用一个死循环来接收服务器的消息,输入流接收到消息后同伙Handler通知UI线程更新UI
二、Handler与Looper,MessageQueue的关系
Handler负责发送消息和接收Looper传过来的消息,并根据消息处理相应逻辑
Looper负责接收Handler发送过来的消息,并将该消息回传给Handler自己。
而MessageQueue只是相当于一个消息容器
三、动画有哪些类型,动画的区别?
在Android3.0以前,动画有两种类型,一种是补间动画,即tween,他指的是通过自身的变形达到的效果,比如说透明度的变化,放大缩小等,还有一种是帧动画,即Frame,是通过一针一针的对图片进行连贯起