Android常见面试题目小汇总(更新中...)

来源:互联网 发布:betterzip mac版 编辑:程序博客网 时间:2024/06/06 10:46

1、前后台交互用到什么协议?
Android与服务器通信通常采用的是HTTP通信方式和Socket通信方式
一、HTTP协议简介:
1、是一种超文本协议,是一套计算机在网络中通信的一种规则。在TCP/IP体系结构中,属于应用层协议。
2、是一种无状态的协议,即服务器与客户端之间不需要建立持久的链接。整个过程就是当一个客户端向服务器发送一个请求(request),然后服务器返回一个响应(response),之后连接就关闭了。
3、遵循请求/响应模式(2次握手)。不仅在请求时候需要先建立连接,而且在客户端向服务器发出请求后,服务器才能回复数据。(Socket连接在双方建立连接后可以直接进行数据的传输)

2、Android怎么做内存优化?

参考这位老哥的博客(老哥威武),原文链接如下:(转载自大苞米的博客(http://blog.csdn.net/a396901990))

http://blog.csdn.net/a396901990/article/details/38707007/

3、两个Activity切换的时候依次回调了什么方法?
参考这位老哥的博客(老哥威武)原文链接如下:

http://blog.csdn.net/bigconvience/article/details/14228993

4、横竖屏切换依次回调什么方法?
启动页面
oncreate()->onstar()->onresume()
旋转页面
onpause()->onsaveinstancestate()->onstop()->ondestory()->oncreate()->onstar()->
onrestoreinstancestate()->onresume()

参考这位老哥的博客(老哥威武)原文链接如下:

http://www.cnblogs.com/yishujun/archive/2016/04/15/5395266.html

5、padding 和 margin 的区别?
通俗的理解:
Padding 为内边框,指该控件内部内容,如文本/图片距离该控件的边距
Margin 为外边框,指该控件距离边父控件的边距

6、ListView的优化方案?
参考这位老哥的博客(老哥威武)原文链接如下:

http://blog.csdn.net/s003603u/article/details/47261393

7、有多少种情况可以更新ui?

1.利用Looper更新UI界面
2.AsyncTask利用线程任务异步更新UI界面
3.利用Runnable更新UI界面
4.使用Handler消息传递机制
5.使用runOnUiThread(action)方法;