Android工程师的面试题

  校招的日子结束了,结果也算圆满。忙碌了一阵子,现在终于可以安安静静的做做项目看看书写写论文了。下面对这段时间面试遇到的问题并结合网上各位的大神秒下的面试题做个总结,小编会持续更新,希望能在面试中助各位一臂之力!

  Java基础:

  1、内存泄露的原因:

  资源对象没关闭。

  如Cursor、File等资源。他们会在finalize中关闭,但这样效率太低。容易造成内存泄露。

  SQLiteCursor,当数据量大的时候容易泄露

  使用Adapter时,没有使用系统缓存的converView。

  即时调用recycle()释放不再使用的Bitmap。

  适当降低Bitmap的采样率,如:

  3

  BitmapFactory.Options options = newBitmapFactory.Options();

  options.inSampleSize = 2;//图片宽高都为原来的二分之一,即图片为原来的四分之一

  Bitmap bitmap =BitmapFactory.decodeStream(cr.openInputStream(uri), null, options); preview.setImageBitmap(bitmap);

  使用application的context来替代activity相关的context。

  尽量避免activity的context在自己的范围外被使用,这样会导致activity无法释放。

  注册没取消造成内存泄露

  如:广播

  集合中的对象没清理造成的内存泄露我们通常把一些对象的引用加入到了集合中,当我们不需要该对象时,并没有把它的引用从集合中清理掉,这样这个集合就会越来越大。如果这个集合是static的话,那情况就更严重了。

  Handler应该申明为静态对象, 并在其内部类中保存一个对外部类的弱引用。如下:

  复制代码

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  11

  12

  13

  14

  15

  16

  17

  static class MyHandler extends Handler

  {

  WeakReference mActivityReference;

  MyHandler(Activity activity)

  {

  mActivityReference= new WeakReference(activity);

  }

  @Override

  public void handleMessage(Message msg)

  {

  final Activity activity = mActivityReference.get();

  if (activity != null)

  {

  mImageView.setImageBitmap(mBitmap);

  }

  }

  }

  2、ArrayList和LinkedList的区别

  ArrayList初试大小为10,大小不够会调用grow扩容:length = length + (length >> 1)

  LinkedList中Node first,last。分别指向头尾

  ArrayList和LinkedList在性能上各 有优缺点,都有各自所适用的地方,总的说来可以描述如下:

  对ArrayList和LinkedList而言,在列表末尾增加一个元素所花的开销都是固定的。对

  ArrayList而言,主要是在内部数组中增加一项,指向所添加的元素,偶尔可能会导致对数组重新进行分配;而对LinkedList而言,这个开销是

  统一的,分配一个内部Entry对象。

  在ArrayList的 中间插入或删除一个元素意味着这个列表中剩余的元素都会被移动;而在LinkedList的中间插入或删除一个元素的开销是固定的。

  LinkedList不 支持高效的随机元素访问。

  ArrayList的空 间浪费主要体现在在list列表的结尾预留一定的容量空间,而LinkedList的空间花费则体

现在它的每一个元素都需要消耗相当的空间

  可以这样说:当操作是在一列

  数据的后面添加数据而不是在前面或中间,并且需要随机地访问其中的元素时,使用ArrayList会提供比较好的性能;当你的操作是在一列数据的前面或中

  间添加或删除数据,并且按照顺序访问其中的元素时,就应该使用LinkedList了。

  3、hashmap和hashtable的不同

  继承不同。

  复制代码

  1

  2

  public class Hashtable extends Dictionary implements Map

  public class HashMap extends AbstractMap implements Map

  Hashtable 中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。在多线程并发的环境下,可以直接使用Hashtable,但是要使用HashMap的话就要自己增加同步处理了。

相关文章

二年级数学上册《长度单位》的试题

一、下面的图形中,哪些是线段,把它的序号填在括号里。 二、细心算一算。 7厘米+8厘米=( )厘米 30米+6米=( )米 21米-4米=( )米 90厘米+10厘米=( )厘米=( )米 三、你认为...
题目课件2019-01-07
二年级数学上册《长度单位》的试题

初一语文《藏戏》课文原文

藏戏的藏语名叫“阿吉拉姆”,意思是“仙女姐妹”。据传藏戏最早由七姐妹演出,剧目内容又多是佛经中的神话故事,故而得名。以下是小编整理的初一语文《藏戏》课文原文,欢迎阅读!  《藏戏》  世界上还有几个剧...
题目课件2015-07-07
初一语文《藏戏》课文原文

应用伦理学研究的问题

应用伦理学研究的问题 一、生命伦理 1、 克隆,基因工程、试管婴儿,借子宫怀孕、流产,生命何时形成 2、 第一文库网安乐死,死亡的确定、自杀问题,吸毒 3、 医药资源的分配,医疗事故的赔偿,医...
题目课件2011-07-01
应用伦理学研究的问题

与朱元思书阅读答案

在现实的学习、工作中,我们会经常接触并使用阅读答案,阅读答案是对有关阅读题所做的解答。什么样的阅读答案才是科学规范的阅读答案呢?下面是小编为大家整理的与朱元思书阅读答案,希望对大家有所帮助。与朱元思书...
题目课件2012-09-09
与朱元思书阅读答案

五年级课文喜雨阅读答案

五年级的课文喜雨大家学习了么?阅读答案是什么?小编给大家提供五年级课文喜雨阅读答案,欢迎参考! 喜雨 热呀,热呀!最难熬的时候到了。知了在树上“知了!知了...
题目课件2016-04-07
五年级课文喜雨阅读答案

《游媚笔泉记》阅读答案

桐城之西北,连山殆数百里,及县治而迤平。其将平也,两崖忽合,屏矗墉回,崭横①若不可径。龙溪曲流,出乎其间。以岁三月上旬,步循溪西入。积雨始霁,溪上大声然。十余里,旁多奇石、惠草、松枞、槐、枫、栗、橡,...
题目课件2011-02-08
《游媚笔泉记》阅读答案