1、String和StringBuffer有什么本质区别?

本质区别:String字符串不可变,每次修改字符串必须要重新赋值(生成新的对象)才能修改;StringBuffer字符串可变,可以直接对字符串本身进行修改(不生成新的对象)。

此外StringBuffer是线程安全的,在有大量字符串修改操作的情况下,性能更优。

2、解释一下Java的反射机制。

反射:在程序运行时通过类名加载类的对象,从而动态的调用类的对象的属性和方法等元素的机制。

3、Class<?> loadClass(String str) Class<?>代表什么意思?

Class<?>是通配泛型,?可以代表任何类型。

Class<T>在实例化的时候,T要替换成具体类。

<? extends T>受限统配,表示T的一个未知子类。

<? super T>下限统配,表示T的一个未知父类。

4、Android中有哪几种布局?

LinearLayout :线性布局,简单的按照水平或垂直方式,按照先后顺序进行控件布局的方式。

FrameLayout :帧布局,控件会在左上角进行“堆放”,起到“层层叠加”的效果。

AbsoluteLayout :绝对布局,相对于左上角的绝对坐标来确定各元素的位置。此布局方式不能很好的适配各种尺寸屏幕的移动设备,现已很少采用。

RelativeLayout :相对布局,以控件之间的相对位置进行布局,是最灵活的一种布局方式。

TableLayout :表格布局,基于N行N列的比较规则的布局方式。

5、Android中的Apk发布正式版本,为什么要签名?

apk默认的识别id是Activity所在的包名,所以有可能会重复,签名的意义在于能够唯一的识别自己开发的应用,正确的更新、卸载app。

6、Service运行于哪个线程中?Service中如何避免ANR?

Service运行于主线程中。如果Service有长时间操作,依然会阻塞主线程,造成ANR。

ANR(Android Not Response),在程序长时间没有响应的情况下产生。

避免ANR:不在主线程上执行网络操作或耗时较长的操作,可以通过异步(AsyncTask)或多线程(Handler+Thread)处理。

7、Android中如果在Intent中要传递一个对象,该对象要实现哪几个接口?

Serializable、Parcelable

Serializable更适合于在磁盘上序列化、反序列化,Parcelable更适合于在内存中序列化、反序列化。

8、Android程序中如果要对位图进行处理,需要注意什么,如果处理不当,会产生什么异常?

Android手机内存资源有限,要对Bitmap进行预处理(图片按比例缩小、缓存:内存缓存、磁盘缓存)。如果处理不当,会产生OOM(Out Of Memory)异常。

9、Android程序中,如果需要从网络中获取数据,应该如何操作?

tcp/udp:socket

http:支持get/post/delete/put等http动作,数据交换格式有xml和json等

webservice: 基于soap+xml的web服务

其它还有ftp、usb、wifi、blueteeth、nfc等。

Android开发面试题(一)的更多相关文章

  1. 网易android开发面试题及心得

    前几天面试网易android开发,总体感觉问题难度一般.怪我自己没有好好梳理知识,尤其是基础,后面就没消息了... 笔试: 1.描述Activity 生命周期 2.什么是ANR,如何规避? 3.描述a ...

  2. android开发面试题

    找了将近两个星期的工作,面试了5家公司,罗列一下笔试或者面试时的问题,祝大家好运 1,handler机制 答:handler执行机制:1).在主线程中创建handler 2).子线程中借助主线程的ha ...

  3. 【理论面试篇】收集整理来自网络上的一些常见的 经典前端、H5面试题 Web前端开发面试题

    ##2017.10.30收集 面试技巧 5.1 面试形式 1)        一般而言,小公司做笔试题:大公司面谈项目经验:做地图的一定考算法 2)        面试官喜欢什么样的人 ü  技术好. ...

  4. 前端开发面试题-CSS(转载)

    本文由 本文的原作者markyun 收集总结. 介绍一下标准的CSS的盒子模型?低版本IE的盒子模型有什么不同的? (1)有两种, IE 盒子模型.W3C 盒子模型: (2)盒模型: 内容(conte ...

  5. 前端开发面试题-JavaScript(转载)

    本文由 本文的原作者markyun 收集总结. 介绍js的基本数据类型. Undefined.Null.Boolean.Number.String. ECMAScript 2015 新增:Symbol ...

  6. java 开发面试题小整理(一)

    本篇文档将持续更新,有基础滴,也有深层次的,谢谢! 1.看下面的程序是否有问题,如果有问题,请指出并说明理由. * byte b1 = 3; * byte b2 = 4; * byte b3 = b1 ...

  7. php开发面试题---游戏面向对象设计与分析实例

    php开发面试题---游戏面向对象设计与分析实例 一.总结 一句话总结: 不要光空想,多看几个实例就知道自己的游戏该怎么设计了 根据实例去理解面向对象编程的的六大原则 1.英雄种类分别有:战士.法师. ...

  8. 100个iOS开发面试题汇总-王刚韧的技术博客

    100个iOS开发面试题汇总 关于iOS开发面试,不管对于招聘和应聘来说,面试都是很重要的一个环节,特别对于开发者来说,面试中的技术问题环节不仅是企业对应聘者技能和积累的考察,也是一个开发者自我检验的 ...

  9. 前端开发面试题收集 JS

    前端开发面试题收集-JS篇 收集经典的前端开发面试题 setTimeout的时间定义为0有什么用? javascript引擎是单线程处理任务的,它把任务放在队列中,不会同步执行,必须在完成一个任务后才 ...

随机推荐

  1. c++ 设计模式5 (Observer / Event 观察者模式)

    3.3 观察者模式 (Observer)/发布-订阅模式 动机: 在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系”——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都能得 ...

  2. ASP.NET MVC与WebForm区别

    [转贴一] 使用ASP.NET MVC框架,创建默认项目,第一直观感觉就是地址都是Rewrite过的.对源码和配置文件稍加分析不难看出,MVC使用了httpModules来拦截地址请求,具体用到了Sy ...

  3. react-redux 学习笔记

    react 是 view 层的一个框架,负责展示数据:redux 控制数据流动,把数据存在唯一的 store 里,通过 action 来触发事件,reducer 来根据事件处理数据. redux 在通 ...

  4. iOS - 网络 - NSURLSession

    1.NSURLSession基础 NSURLConnection在开发中会使用的越来越少,iOS9已经将NSURLConnection废弃,现在最低版本一般适配iOS,所以也可以使用.NSURLCon ...

  5. Java内存管理的9个小技巧

    Java内存管理的9个小技巧很多人都说“Java完了,只等着衰亡吧!”,为什么呢?最简单的的例子就是Java做的系统时非常占内存!一听到这样的话,一定会有不少人站出来为Java辩护,并举出一堆的性能测 ...

  6. VMware系统运维(七)vCenter Inventory Server安装

    1.vCenter Inventory Server安装即vCenter 清单服务 2.下一步 3.接受协议,下一步 4.选择安装位置,下一步 5.设置域名,注意在安装之前一定要加域,嘻嘻. 6.设置 ...

  7. C#调用C++的DLL搜集整理的所有数据类型转换方式

    //C#调用C++的DLL搜集整理的所有数据类型转换方式,可能会有重复或者多种方案,自己多测试 //c++:HANDLE(void *) ---- c#:System.IntPtr //c++:Byt ...

  8. What are definitions of ​Model, Inference and Algorithm and its associations ?

    1.拿初中的二元一次方程来说明: 1.1)说model就好比一元二次方程,它是个方程模型: 1.2)再说inference是求解该方程的某种方法--加减消元法(重在推理): 1.3)最后说algori ...

  9. 剑指Offer22 判断数组是否为某二叉搜索树的后序遍历

    /************************************************************************* > File Name: 22_Sequen ...

  10. jQuery选择器之动态列表显示Demo

    显示效果: 之后全部展开: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http ...