android面试题总结加强再加强版(四)

来源:互联网 发布:linux 调整文件权限 编辑:程序博客网 时间:2024/05/18 02:32

http://blog.csdn.net/superjunjin/article/details/7862182

1,双缓冲技术原理以及优缺点:

创建一幅后台图像,将每一帧画入图像,然后调用drawImage()方法将整个后台图像一次画到屏幕上去。

优点:双缓冲技术的优点在于大部分绘制是离屏的。

            将离屏图像一次绘至屏幕上,比直接在屏幕上绘制要有效得多。

            双缓冲技术可以使动画平滑。

缺点:要分配一个后台图像的缓冲,如果图像相当大,这将占用很大一块内存。

2,AsyncTask简介

在开发Android移动客户端的时候往往要使用多线程来进行操作,我们通常会将耗时的操作放在单独的线程执行,避免其占用主线程而给用户带来不好的用户体验。但是在子线程中无法去操作主线程(UI 线程),在子线程中操作UI线程会出现错误。因此android提供了一个类Handler来在子线程中来更新UI线程,用发消息的机制更新UI界面,呈现给用户。这样就解决了子线程更新UI的问题。但是费时的任务操作总会启动一些匿名的子线程,太多的子线程给系统带来巨大的负担,随之带来一些性能问题。因此android提供了一个工具类AsyncTask,顾名思义异步执行任务。这个AsyncTask生来就是处理一些后台的比较耗时的任务,给用户带来良好用户体验的,从编程的语法上显得优雅了许多,不再需要子线程和Handler就可以完成异步操作并且刷新用户界面。

3,Socket通信编程

客户端编程步骤:


1、 创建客户端套接字(指定服务器端IP地址与端口号)


2、 连接(Android 创建Socket时会自动连接)


3、 与服务器端进行通信


4、 关闭套接字


服务器端:

1.创建一个ServerSocket,用于监听客户端Socket的连接请求

2.采用循环不断接受来自客户端的请求

3.每当接受到客户端Socket的请求,服务器端也对应产生一个Socket