Android常见面试题
引言
本文面试知识点主要针对大部分IT公司面试准备:
一、Activity
Activity生命周期、常见类型概述
Activity的启动模式、每个启动模式的不同点是什么?
如何在非活动Activity内存不足时被系统销毁前保存数据?
横竖屏切换时,Activity的生命周期会有哪些变化?
Activity如何设置为Dialog样式?
如何退出多个Activity?
Context、Application、Activity的区别与联系?
Activity之间进行数据传递的方式有哪些?
【Android】初识Activity(一)
【Android】常见面试题(一)
Activity的onSaveInstanceState()和 onRestoreInstanceState()方法
【Android 应用开发】Activity 状态保存 OnSaveInstanceState参数解析
Android横竖屏切换总结
android-----横竖屏切换对Activity生命周期的影响
Android基础之Activity系列 - Activity间的数据传递
二、Fragment
Fragment的作用以及生命周期概述(重点在于与Activity生命周期不同之处)
Fragment如何与Activity进行数据交互、Fragment与Fragment之间如何进行数据交互?
Fragment的两种使用方法描述(replace、add)
【Android】Fragment初探索
Fragment全解析系列(一):那些年踩过的坑
Android进阶之Fragment与Activity之间的数据交互
【Android】Fragment之间数据传递的三种方式
三、Service
Service两种启动模式的区别是什么?
Service的生命周期有哪些?
Activity如何与Service进行通讯?
【Android】Service那点事儿
【Android】Service前台服务的使用
【Android】远程服务(Remote Service)的使用
四、BroadcastReceiver
BroadcastReceiver广播类型有哪几种?
BroadcastReceiver有哪几种注册方式?
国内目前最全面的介绍——Android中的BroadCastReceiver
Android四大组件:BroadcastReceiver史上最全面解析
五、Content Provider
什么是Content Provider?Content Provider如何用?
Android之ContentProvider总结
android ContentProvider使用详解
【Android】常见面试题(二)
六、Intent
什么是Intent,它主要做什么?
Intent可以传递哪些数据类型的参数(重点在Bundle中的序列化数据)?
IntentFilter是什么?它与Intent的区别是什么?
Android中Intent组件详解
Android中Intent概述及使用
Android中Intent对象与Intent Filter过滤匹配过程详解
七、控件使用相关:ListView、ScrollView、RecyclerView等
ScrollView内嵌套ListView会产生哪些冲突?如何解决?
解决ScrollView或ListView中嵌套ListView引起的冲突--ListView显示不全问题
利用事件分发机制解决ScrollView嵌套ListView滑动冲突
ListView内图片错位、item中按钮点击错位、checkBox错位原因分析与解决方案描述
Android中ListView异步加载图片错位、重复、闪烁问题分析及解决方案
Android:ListView常见错位之CheckBox错位
Android错误之ListView加载错位_ListView图片错位
ListView内如何显示不同样式的item
Android ListView实现多种Item布局
RecyclerView的使用
Android RecyclerView 使用完全解析 体验艺术般的控件
ScrollView在水平、竖直情况下的使用场景
八、性能优化
OOM问题分析,如何避免OOM?
Android避免OOM(内存优化)
内存溢出(out of memory)与内存泄漏(memory leak)的区别
Android 内存溢出和内存泄漏的区别
Android 内存溢出和内存泄漏的问题
GC回收机制
简析Android的垃圾回收与内存泄露
垃圾回收机制GC知识再总结兼谈如何用好GC
详解GC机制,gc机制,Android垃圾回收机制的底层描述
Android GC那点事儿
线程与线程池
Android线程与线程池
ImageLoader的缓存机制是什么?(这个不会刻意阐述LruCache、DiskLruCache这两个的原理即可或者是其它如Glide、Picso图片缓存原理)
从源代码分析Android-Universal-Image-Loader的缓存处理机制
ANR出现的场景及解决办法
Android App优化之ANR详解
Android中对付ANR的N种武器
android ANR发生的原因总结和解决办法
如何使用traceview做数据分析
正确使用Android性能分析工具——TraceView
如何使用Heap做内存分析(AS场景刻意直接用Android Monitor工具怼出去,答对即可,这方面刻意说一些使用LeakCanary工具进行内存泄漏分析的过程)
LeakCanary:检测所有的内存泄漏
九、其它
Android事件分发机制分析
Android事件分发机制完全解析,带你从源码的角度彻底理解(上)
Android事件分发机制完全解析,带你从源码的角度彻底理解(下)
Android数据持久化方式有哪些?
【Android】数据库版本控制
自定义View常用方法及其作用介绍(最好包含自定义属性)
Android动画有哪些种类?(补间动画、帧动画、属性动画)
Android属性动画完全解析(上),初识属性动画的基本用法
Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
Android属性动画完全解析(下),Interpolator和ViewPropertyAnimator的用法
Android IPC机制
Android中的IPC机制
Android中实现IPC的几种方式详细分析及比较
Android进程间通信(IPC)机制Binder简要介绍和学习计划
Handler、Looper、MessageQueue与Message之间的关系
Android消息处理机制(Handler、Looper、MessageQueue与Message)
Android Looper和Handler
Thread、Handler和HandlerThread关系何在?
知名第三方库:如OkHttp、Glide、EXOPlayer、Picso、Gson、EventBus等
Android Https相关完全解析 当OkHttp遇到Https
Android OkHttp完全解析 是时候来了解OkHttp了
应用架构设计:MVP、MVVM框架的了解,Dagger2、ButterKinfe、Databinding、RxAndroid、RxJava、Retrofit 2.0的使用等等
Android开发中的MVP架构以及性能优化
Android开发架构选择MVP or MVVM
浅谈Android架构之MVP,MVVM
RxJava+MVP模式下的Nucles框架
给初学者的RxJava2.0教程(一)
手把手教你使用 RxJava 2.0(一)
你真的会用Retrofit2吗?Retrofit2完全教程
DataBinding实现原理探析
DataBinding的基本使用(一)
Android NDK的一些开发资料
[Android] 环境配置之Android Studio开发NDK
NDK-JNI实战教程(一) 在Android Studio运行第一个NDK程序
最好稍微了解一些FrameWork层的基本知识
关于版本控制,SVN/Git都来点才好
廖雪峰Git教程
git和SVN的区别
Git 和 SVN 之间的五个基本区别