一、面试中的问题

通过这几天的面试,总结了自己在面试过程中问到的问题,部分问题已经给出了答案,还有部分问题,还未有时间整理出来。

ListView出现闪图、图片错乱原因解决方案

函数式编程 (Lambda)

Activity四种启动模式

消息通讯

AIDL

ImageLoader内部原理

RecyclerView  ViewHodler绑定

Activity与Fragement 生命周期

Service如何让它不清理

Fragement替换机制

xutils  AsyncHttp  volly三种框架的使用

帧布局 FrameLayout

MVC、MVP

1、object类下常用的方法

tostring

equals

hashcode

notify

notifyAll

wait

finalize

clone

getClass

1、String、StringBuffer和StringBuilder的区别

String:字符串常量,字符串长度不可变。Java中String是immutable(不可变)的。

StringBuffer:字符串变量(Synchronized,即线程安全)。

StringBuilder:字符串变量(非线程安全)。在内部,StringBuilder对象被当作是一个包含字符序列的变长数组。

String 类型和StringBuffer的主要性能区别:String是不可变的对象, 因此在每次对String 类型进行改变的时候,都会生成一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String。

使用 StringBuffer 类时,每次都会对 StringBuffer 对象本身进行操作,而不是生成新的对象并改变对象引用。所以多数情况下推荐使用 StringBuffer 。

2、 ArrayList,LinkedList,Vector,Stack之间的区别

一,线程安全性

Vector、Stack:线程安全

ArrayList、LinkedList:非线程安全

二,实现方式

LinkedList:双向链表

ArrayList,Vector,Stack:数组

3、hashmap和hashtable的区别

HashMap哈希表是由数组+链表组成.

HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口。

主要区别在于HashMap允许空(Null)键值(Key,非线程安全。

hashTable 线程安全。

三、关于屏幕适配

1、选用主流的屏幕来开发测试。

2、不用绝对布局,多使用相对布局以及线性布局, 要使用dp,不适用px。

3、在开发后期,在不同的屏幕分辨率下测试,如果没出现太大的问题,就可以上线了。

如果后期测出问题:

1、图片适配

反编译微信,发现图片都是放在hdpi文件夹下。1280*720的图片

2、布局适配

layout-800X480得布局文件

3、尺寸适配

通过values  -> dimens.xml文件配置尺寸, 可配置values-1280*720里面的dimens.xml文件

4、权重适配

layout_weight、weightSum权重总数

5、代码适配

获取屏幕的宽高,动态计算控件的大小

getWindowManager.getDefaultDisplay().getWidth()

(width*200/320) 设置屏幕占有的宽度

px转dp

如何处理内存溢出,内存泄露(如何处理Android内存泄露)

内存泄露是指程序在运行过程中动态申请的内存空间不再使用后没有及时释放,从而很可能导致应用程序内存无线增长。

内存泄露的检测

(1)利用内存泄露检测工具

内存监测工具 DDMS --> Heap

内存分析工具 MAT(Memory Analyzer Tool)

(2)释放资源我都在onDestroy()里面做处理。

(3)对于图片,使用recycle函数来回收资源。

内存泄露处理方法:

第一,应该尽量避免static成员变量引用资源耗费过多的实例,比如Context。

第二、Context尽量使用Application Context,因为Application的Context的生命周期比较长,引用它不会出现内存泄露的问题。

第三、使用WeakReference代替强引用。比如可以使用WeakReference<Context> mContextRef;

对于Handler的内存泄露处理:

这个代码存在泄漏问题,因为HandlerThread的run方法是一个死循环,它不会自己结束,线程的生命周期超过了activity生命周期,

当横竖屏切换,HandlerThread线程的数量会随着activity重建次数的增加而增加。

应该在onDestroy时将线程停止掉:mThread.getLooper().quit();

onDestroy时清除消息,mHandler.removeCallbacksAndMessages(null);   // 参数为null时会清除所有消息。

声明Handler为static并持有Activity的弱引用。

Android常见的几种动画以及区别。

Android NDK 是在SDK前面又加上了“原生”二字,即Native Development Kit,因此又被Google称为“NDK”。


Android 面试总结~~~的更多相关文章

  1. Android面试一天一题(1Day)

    写在前面 该博客思路源于在简书看到goeasyway博主写的Android面试一天一题系列,无copy之意,仅为让自己总结知识点,成长一点点.先感谢各位大神的无私分享~! 关于题目,大部分则出自And ...

  2. Android面试总结 (转)

    1. 下列哪些语句关于内存回收的说明是正确的? (b) A. 程序员必须创建一个线程来释放内存 B. 内存回收程序负责释放无用内存 C. 内存回收程序允许程序员直接释放内存 D. 内存回收程序可以在指 ...

  3. 【Android面试】Android面试题集锦 (陆续更新)(最新2012-6-18) eoe上看到的

    ===============eoeAndroid社区推荐:======================= 1.Android开发新浪面试题[开发者必看哦]下载地址 http://www.eoeand ...

  4. Android面试题目及其答案

    转自:http://blog.csdn.net/wwj_748/article/details/8868640 Android面试题目及其答案 1.Android dvm的进程和Linux的进程, 应 ...

  5. Android面试题目2

    1. 请描述下Activity的声明周期. onCreate->onStart->onRemuse->onPause->onStop->onRestart->onD ...

  6. 百度的android面试总结分析

    今天就是今天上午10点,我接到了百度的电话面试,当然提前和我说了,我的拖延症是有多强烈,以至于我没怎么准备,当然我也想着看看自己的真实水平,在此检讨一下!!!!!!!!!!!!!!!!!!!!!!!! ...

  7. Android面试之高级篇

    结合自己之前去很多大公司的面试经历和自己面别人的一些题,这里做一些总结,Android面试中常见的面试题. 1,Android的Handler运行机制 要解释Handler的运行机制就要讲几个对象:M ...

  8. Android 面试问答

    Android 面试问答 目录 数据结构和算法 java核心知识 Android核心知识 架构 设计相关问题 相关工具和技术 Android 测试驱动开发 其他 数据结构和算法 ******关于此类问 ...

  9. Android面试优雅地介绍自己的项目

    本文转载:m.blog.csdn.net/iamsamzhang/article/details/51916584 先说句题外话,很多公司16年秋招的内推已经开始啦,我目前知道的在北京有网易.百度和微 ...

  10. 【Android 面试基础知识点整理】

    针对Android面试中常见的一些知识点整理,Max 仅仅是个搬运工.感谢本文中引用文章的各位作者,给大家分享了这么多优秀文章.对于当中的解析,是原作者个人见解,有错误和不准确的地方,也请大家积极指正 ...

随机推荐

  1. VS2013Z学习java插件

    https://visualstudiogallery.msdn.microsoft.com/bc561769-36ff-4a40-9504-e266e8706f93 Bugs and Feature ...

  2. ubuntu16.04 + CUDA 9.0 + opencv3.3 安装

    安装前的准备 CUDA 9.0 安装,可以参看Ubuntu16.04 + cuda9.0 + cudnn7.1.4 + tensorflow安装 opencv 3.3.0 下载 ippicv_2017 ...

  3. HDU2844(多重部分和)

    Coins Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  4. web2py远程开发

    Hyper-v下安装测试环境: CentOS 6.5, 默认的Python 2.6, web2py 主机Win8.1 问题:远程管理显示“管理因不安全通道而关闭”,只能访问网页,不能进入管理界面. 找 ...

  5. bzoj3622

    容斥原理 看见恰好k个就要容斥 g[i]表示有几个b比a小 dp[i][j]表示前i个数至少有j个大的方案数,dp[i][j]=dp[i-1][j]+dp[i-1][j-1]*(g[i]-j+1),就 ...

  6. [hdu2243]考研路茫茫——单词情结(AC自动机+矩阵快速幂)

    题意:长度不超过L,只由小写字母组成的,至少包含一个词根的单词,一共可能有多少个. 解题关键:利用补集转化的思想,先求一个词根也不包含的单词个数,然后用总的减去即可.长度不超过L需要用矩阵维数增加一倍 ...

  7. hdu-2141

    Can you find it? Time Limit: 10000/3000 MS (Java/Others)    Memory Limit: 32768/10000 K (Java/Others ...

  8. androidEditTextinputType及android:imeOptions=”actionDone”(转)

    一.android 软件盘事件响应 在android中,有时需要对EditText实现软件盘监听的场景.当android按下软键盘的时候,响应完成.发送.搜索或者其他事件. Google 提供了 Ed ...

  9. webix前端架构的项目应用(项目框架为Web API+autofac+ioc+mysql+webix)

    webix框架兼容javascript.HTML.CSS,应用比较灵活,应用框架时,配合后台webAPI,整个web项目里面,App文件夹保存前台的多语言文件,图片文件,webix原代码js.css, ...

  10. js页面的全屏展示和退出全屏显示

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD ...