您的位置:首页 > 职场人生

Android面试知识点总结-Android篇

2017-09-14 17:14 281 查看
面试中,常被问到的一些关于Android本身的知识点有哪些呢?下面我整理了一些,相信这些会了,应对Android方面的面试应该没有问题了。关于问题答案太多太杂,大家可以查阅书籍,资料,看博客来各个击破。

基础篇:

Activity的生命周期、启动模式、IntentFilter 匹配规则。

Service的生命周期,和两种启动方式。

Fragemnt的生命周期和使用场景。

BoardCastReciever的两种注册方法。

ContentProvider的基本使用方法和作用。ContentValue的使用方法,他和HashMap的区别是什么?

SharedPreference三种获得方法和区别,commit和apply的区别。

SQLite数据库的基本操作API

Android基本网络库OkHttp的使用方法和优缺点。

Android执行异步有哪些方法?线程间通讯的方式?

AnycTask的优缺点?串行or并行?内部线程池是怎样的?

6大常用的布局有哪些?

View的绘制流程?

View,SurfaceView,GLSurfaceView有什么区别?

ListView的优化。

RecyclerView与ListView的区别。RecyclerView的优缺点。

WebView的基本使用方法。WebViewClient和WebChromeClient。

Android和H5通信。(基本上就是JS和Android原生互调)

Intent的作用。

Android的屏幕适配方法有哪些?

XML加载的几种方式,各自的原理。都有什么优缺点?

Android中动画的分类,各自的优缺点。(基本上讲了帧动画,Tween动画,属性动画就OK了,至于Transition Framework可讲可不讲。)

Android中图片加载和缓存怎么做?(bitmap加载、缓存:LRUCache、DiskLruCache、LinkHashMap,一般原生的话加载使用BitmapFactory,缓存使用LruCache就可以了。)

JSON数据解析

线程、线程池、多线程

Android中的消息传递机制。(Message,Handler,MessageQueue,Looper)

有哪些容易造成内存泄漏的原因?

MVC,MVP,MVVM

ANR的原因、解决方法

什么是Force close?

IPC:Serialzable、Parcelable、Binder、Socket

高级篇:

Android的Touch事件分发过程

Android应用从Launcher的启动过程

Android中进程保活的方法

Android中的IPC Binder是怎么回事?出于什么考虑?

Android中的Zygote是什么鬼?出于什么考虑?

Android中的DVM和JVM有什么区别?又加入的Android Runtime是出于什么考虑?有什么优势?

Android中各个版本的功能特性?

Android内存泄漏场景及解决方法

进行过哪些性能优化

AIDL的使用。

NDK、JNI开发。

开源库(一般要求看过源码,知道原理):Retrofit、RxAndroid、EventBus、Picasso(优点)、OKhttp3

Android的插件化技术:Atlas、OSGI和热修复技术。

Android混淆

Android反编译

设计模式(六大原则:SOLID + 迪米特)

单例模式:获取各种service

工厂方法:activity、service(onStart)

责任链:Android事件分发

builder:dialog、Picasso

观察者:listview更新、EventBus

适配器:listview adapter

支持我的话可以关注下我的公众号,每天都会推送新知识~

欢迎关注微信公众号:Android技术大全

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: