ADeveloperH Blog

Meet a better self !

Android 周边技术分享


面经

Android面经-基础篇(持续更新…)

金三银四,Android高级开发面试题目,帮你助力

Android面经-基础篇(持续更新…)

吐血整理!17年下半年面试问题以及解析精华整理(上)

1 四大组件相关

1.1 Activity相关知识点

Android之Activity生命周期浅析(一)

Activity 生命周期 ——各种情况测试

关于Activity各种情况下的生命周期

深入理解Activity的生命周期

Activity之间的通信方式

Android之Activity之间的数据通信方式大全(一)

Android之 Activity间通信总结

Activity启动模式与任务栈(Task)全面深入记录(上)

Android中Activity四种启动模式和taskAffinity属性详解

彻底弄懂Activity四大启动模式

1.2 Fragment相关知识点

Fragment 各种状态下的生命周期

Android:Fragment在ViewPager中的生命周期

Android Fragment 的使用,一些你不可不知的注意事项

【Android】Fragment之间数据传递的三种方式

Activity和Fragment传递数据的两种方式

1.3 Service相关知识点

Android Service完全解析,关于服务你所需知道的一切(上)

Android Service详解

Android Service本地服务详解

关于Android Service真正的完全详解,你需要知道的一切

Android 多线程之IntentService 完全详解

Android 多线程之HandlerThread 完全详解

android Service stopSelf(int startId)与stopSelf()的区别

1.4 BroadcastReceiver广播相关知识点

Android开发之BroadcastReceiver详解

基础总结篇之五:BroadcastReceiver应用详解

Android BroadcastReceiver使用详解

之前写的(参考使用)

1.5 ContentProvider 相关知识点

ContentProvider解析

ContentProvider详解

请介绍下ContentProvider是如何实现数据共享的?

2 Android小知识

2.1 Android中Context

Android Context 上下文 你必须知道的一切

Application context和Activity context的区别

Android源码分析-全面理解Context

Context都没弄明白,还怎么做Android开发?

2.2 如何导入外部数据库?

Android 存储路径相关知识小结

Android如何导入已有的外部数据库

Android导入外部数据库

2.3 接口与回调的理解

Java回调的原理与实现

android中的回调

Android 回调机制理解

2.4 低版本SDK如何实现高版本api?

Android 高版本 API 方法在低版本系统上的兼容性处理

使用Android lint发现并解决高版本API问题

新手的第一个Android项目该如何选择targetSdkVersion

Android SDK版本与兼容包相关

Android Support Library 兼容库概念性介绍

android sdk开发应该如何设置android.jar版本(compileSDK)?

2.5 ANR 原因、定位、修复

ANR产生的原因及定位分析

Android ANR 分析

ANR 原理与实战技巧

Android应用开发性能优化完全分析(转)

3 Android中View

3.1 AlertDialog、PopupWindow、Activity区别

Android新手入门2016(13)–阻塞对话框PopupWindow

Dialog和PopUpWindow的抉择

关于坑爹的PopupWindow的“阻塞”争议问题:Android没有真正的“阻塞式”对话框

对话框:阻塞式PopupWindow 和非阻塞AlertDialog

Android AlertDialog和PopupWindow使用和区别

安卓开发中Dialog和PopupWindow和新建Activity的使用场景有什么区别?

3.2 Activity、PhoneWindow、DecorView、R.id.content、WMS、WindowManager、WindowManagerGlobal、ViewRootImpl 关系 ,setContentView源码分析####

Android View和 Window 的关系

Activity 与 Window、PhoneWindow、DecorView 之间的关系简述

Activity、View、Window的理解一篇文章就够了

Android视图框架Activity,Window,View,ViewRootImpl理解

Android Activity 、 Window 、 View之间的关系

Android窗口机制(二)Window,PhoneWindow,DecorView,setContentView源码理解

android中View创建过程详解

Android 从setContentView谈Activity界面的加载过程

Android高级UI系列(1)– setContentView()详解

Android 面试指南

3.3 LayoutInflater

三个案例带你看懂LayoutInflater中inflate方法两个参数和三个参数的区别

3.4 ListView VS RecyclerView

RecyclerView 和 ListView 使用对比分析

RecyclerView 必知必会

[Android]RecyclerView与ListView的对比分析

我们为什么要使用RecyclerView

Android RecyclerView 使用完全解析 体验艺术般的控件

Android 优雅的为RecyclerView添加HeaderView和FooterView

3.5 ListView图片加载错乱的原理和解决方案

Android ListView异步加载图片乱序问题,原因分析及解决方案

ListView异步加载图片–图片缓存和错位问题解决方案

4 Android事件传递分发

4.1 View事件传递分发

安卓自定义View进阶-事件分发机制原理(有一和二)

Android View 事件分发机制 源码解析 (上)

Android事件分发机制 详解攻略,您值得拥有

Android事件分发机制完全解析,带你从源码的角度彻底理解(上)

Android View的事件分发机制和滑动冲突解决方案

View的事件分发机制

Android事件传递之子View和父View的那点事

ViewRootImpl源码分析事件分发

4.2 点击事件被拦截,但是想传到下面的View,如何操作?

Android题目笔记(五)

5 自定义View相关

5.1 View测量、布局、绘制流程

Android View 的工作流程和原理

深入理解Android之View的绘制流程

Android视图绘制流程完全解析,带你一步步深入了解View(二)

Android 视图 View 绘制流程及源码分析

公共技术点之 View 绘制流程

Android应用层View绘制流程与源码分析

5.2 View draw相关

Android坐标系与View绘制流程

HenCoder Android 开发进阶:自定义 View 1-5 绘制顺序

5.3 自定义 View 相关

Android自定义View详解

Android自定义View详解

安卓自定义View教程目录

HenCoder Android 开发进阶: 自定义 View

5.5 TextView 相关

文字太多?控件太小?试试 TextView 的新特性 Autosizeing 吧!

View多行文本居中

5.6 android刷新机制

Android应用性能优化最佳实践.2.6 合理的刷新机制

Android性能优化典范 - 第1季 阅读笔记

Android性能优化典范 - 第1季

Android绘制优化—-系统显示原理

5.7 requestLayout、invalidate、postInvalidate的区别及使用

Android View 深度分析requestLayout、invalidate与postInvalidate

android中view的invalidate()跟requestLayout()两个方法的调用过程?

从源码看invalidate和requestLayout的区别

常见面试第四题之requestLayout, invalidate和postInvalidate的异同

INVALIDATE()和POSTINVALIDATE() POSTINVALIDATEONANIMATION()的区别及使用

5.8 优化自定义View

优化自定义View

优化你的自定义View

你最需要知道的View优化

android自定义view课程之view的优化

自定义复杂 View 以及相关绘制优化实践

自定义View从入门到上天

Android性能优化(二)-自定义View优化

安卓开发详解—GPU呈现模式分析

5.9 自定义View如何考虑机型适配

ANDROID 布局优化

关于Android布局你不知道的

Android中RelativeLayout和LinearLayout性能分析

RelativeLayout, FlexLayout 及其他 layout 性能对比

从 View 绘制谈性能优化

5.10 新增控件

Android5.0和6.0之后新增的控件说明

5.11 获取view的宽高

Android 获取 View 宽高的方式

获取View的宽度和高度

Android获取View的宽度和高度

Android–获取View的宽高的几种方法

Android 获取 View 宽高的常用正确方式,避免为零

6 多进程相关问题

6.1 多进程知识

Android 中的多进程,你值得了解的一些知识

多进程的一些注意事项

关于 Android 应用多进程的整理

Android 进程间通信

Android多进程使用场景

6.2 SharedPreferences相关知识

请不要滥用SharedPreference

深入理解 Android 中的 SharedPreferences

一个null引发的SharedPreferences惨案

对 SharedPreferences 再多一点了解

Android SharedPreference 支持多进程

通过 ContentProvider 多进程共享 SharedPreferences 数据

7、 Handler 相关

7.1 Handler 机制详解

Android消息机制1-Handler(Java层)

Android中的Thread, Looper和Handler机制(附带HandlerThread与AsyncTask

Android异步消息处理机制完全解析,带你从源码的角度彻底理解

Android 中 Handler 机制

Android Handler 机制 - Looper,Message,MessageQueue

Handler机制完全解析

Handler 机制再了解

Android 的 Handler 机制实现原理分析

7.2 Handler 机制常见问题

Android消息机制,你真的了解Handler吗?

7.3 Handler、Thread和HandlerThread的差别

Android HandlerThread 源码分析

Android HandlerThread详解

7.4 为什么不能在子线程更新UI?

Android中不能在子线程中更新UI?!

Android 中子线程真的不能更新 UI 吗?

Android只在UI主线程修改UI,是个谎言吗? 为什么这段代码能完美运行?

android 不能在子线程中更新ui的讨论和分析

7.5 AsyncTask 相关

Android AsyncTask 源码解析

Android中AsyncTask使用详解

源码解析Android中AsyncTask的工作原理

Android AsyncTask原理解析

AsyncTask 使用和缺陷

AsyncTask的缺陷和问题

AsyncTask原理及不足

AsyncTask进行异步处理的缺陷

AsyncTask的原理及优缺点解析

7.6 LRUCache

Android LruCache解析

详解基于LRU缓存的LruCache类及其在Android内存优化中的应用

Android内存缓存LruCache源码解析

7.7 DiskLRUCache

Android DiskLruCache完全解析,硬盘缓存的最佳方案

三分钟学会缓存工具DiskLruCache

Android使用磁盘缓存DiskLruCache

优雅的构建 Android 项目之磁盘缓存(DiskLruCache)

8、 Binder 机制

Binder系列—开篇

9、性能优化

关于Android性能优化,该从哪些方面入手?

9.1 内存:OOM相关

Android内存优化之OOM

内存泄漏分析心得

Android内存泄漏小谈

常见的八种导致 APP 内存泄漏的问题

性能优化(二)内存管理 & Memory Leak & OOM

系统剖析Android中的内存泄漏

浅析android的OOM问题

一次解决OOM的经历

Android 性能优化之内存泄漏

不可思议的OOM

9.2 Oom 是否可以try catch?为什么?

安卓编程:可否用try-catch捕获Out Of Memory Error以避免其发生?

Android 捕获OOM方法

9.3 java 四中引用

强引用、弱引用、软引用、虚引用

Java中的强引用,软引用,弱引用,虚引用有什么用?

如果对象的引用被置为null,垃圾收集器是否会立即释放对象占用的内存?

9.4 GC 相关###

深入理解java虚拟机(一):java内存区域(内存结构划分)

JVM系列之Java内存结构详解

浅析JAVA的垃圾回收机制(GC)

JAVA垃圾回收机制

理解Java垃圾回收机制

Java内存分配机制 垃圾回收 GC Root

JAVA GC 原理详解

怎么在面试时回答Java垃圾回收机制(GC)相关问题?

Shallow Size、Retained Size、Heap Size和Allocated

9.5 Bitmap 相关

Android 开发绕不过的坑:你的 Bitmap 究竟占多大内存?

Android:你的 Bitmap 究竟占多大内存?

Bitmap详解

Android Bitmap最全面详解

Android中BitmapFactory.Options详解

Bitmap详解与Bitmap的内存优化

Android 从具体实例分析Bitmap使用时候内存注意点

总结一下Android中Bitmap图片操作中要注意的地方

Android中Bitmap处理注意问题

Android 之 Bitmap

Bitmap的分析与使用

Android Bitmap inBitmap 图片复用?

ANDROID高效加载图片,有效避免程序OOM

8.2.2 Bitmap引起的OOM问题

9.6 APK 瘦身

那些你不知道的 APK 瘦身,让你的 APK 更小

如何将 APK 大小减少 6M 的

我的Android进阶之旅——>Android APP终极瘦身指南

Android 瘦身之道 —- so文件

【腾讯Bugly干货分享】Redex初探与Interdex:Andorid冷启动优化

9.7 启动优化

Android性能优化(一)之启动加速35%

Android性能优化系列之App启动优化

一触即发——App启动优化最佳实践

Android APP启动优化

APP启动优化

9.8 性能分析工具

Android App优化之性能分析工具

值得推荐的Android应用性能检测工具列表

9.9 TraceView

android核心技术之性能分析工具TraceView

正确使用Android性能分析工具——TraceView

TraceView工具(Device Monitor)

9.10 内存分析

Android性能分析工具的使用

android内存泄露分析工具MAT详解

Android内存优化(五)详解内存分析工具MAT

MAT 常用工具详解——内存优化(三)

MAT - Memory Analyzer Tool 使用进阶

Android内存优化(五)详解内存分析工具MAT

10 设计模式相关

Android设计模式-总结+索引

Android的设计模式

10.1 单例模式

ANDROID设计模式之单例模式

Android设计模式(一)-单例模式

10.2 Builder 对象创建型模式

Android开发—Builder 模式必知必会

结合 Android 浅谈 Builder 模式

Android中的构建者(Builder)模式

10.3 工厂模式

工厂模式——看这一篇就够了

Android开发设计模式之——工厂模式

Android 工厂模式,三种工厂模式的理解

设计模式与Android

Android 源码中的静态工厂方法

10.4 观察者模式

观察者模式

Android设计模式学习之观察者模式

Android观察者模式的理解

当观察者模式和回调机制遇上 Android 源码

Android-观察者模式

谈谈Android中的观察者模式

观察者模式——千里眼和顺风耳

10.5 适配器模式

适配器模式(Adapter Pattern)- 最易懂的设计模式解析

[Android]设计模式-适配器模式

10.6 策略模式

Android开发中无处不在的设计模式——策略模式

策略模式(Strategy Pattern)- 最易懂的设计模式解析

Android设计模式源码解析之策略模式

人人都会设计模式—策略模式–Strategy

10.7 享元模式

java/android 设计模式学习笔记(13)—享元模式

[Android开发Message源码分析【享元模式 对象池】](https://blog.csdn.net/wangshihui512/article/details/51453839)

Android 源码中的享元模式——Message 复用原理

10.8 装饰模式

10.9 代理模式

10.10 责任链模式

10.11 命令模式

10.12 解释器模式

10.13 MVC MVP MVVM原理和区别

Android—-MVC、MVP、MVVM、区别介绍

MVC和MVP在app中的对比分析以及实际应用

MVC、MVP、MVVM三种区别及适用场合

Android App的设计架构:MVC,MVP,MVVM与架构经验谈

Android框架 之 MVC, MVP, MVVM

11 Android 动画相关

Android View 动画和属性动画学习笔记

属性动画(一)

Android四大视图动画图文详解

Android 属性动画总结

动画机制总结

12 插件化、模块化、组件化、热修复、增量更新、Gradle

12.1 插件化介绍

2017 Android插件化框架总结

Android 插件化和热修复知识梳理

是时候来一波Android插件化了

Android插件化入门指南

Android插件化完美实现代码资源加载及原理讲解 附可运行demo

怎么将 Android 程序做成插件化的形式?

Android插件化之Small框架原理

VirtualAPK:滴滴 Android 插件化的实践之路

美团App 插件化实践

12.2 模块化和组件化

Android 开发:由模块化到组件化(一)

Android 模块化探索与实践

Android彻底组件化方案实践

Android 模块化开发

Android组件化开发实践

关于Android模块化我有一些话不知当讲不当讲

微信Android模块化架构重构实践

Android 组件化探索与思考

12.3 增量更新

Android 增量更新完全解析 是增量不是热修复

Android增量更新,热修复,动态加载

安卓应用增量,热修复,插件技术,让你的App维护起来更方便

13 API变更

Android 4.0到8.0版本特性总结

Android O新特性和行为变更总结

Android 4.0到8.0版本特性总结

Android 4.0到8.0版本特性总结

Android 4.0到8.0版本特性总结

Android 4.0到8.0版本特性总结

Android 4.0到8.0版本特性总结

最近的文章

1 java中==、equals、hashCode的区别弄懂java中”==“、”equals“、”hashCode“Java 中的 ==, equals 与 hashCode 的区别与联系重写equal()时为什么也得重写hashCode()之深度解读equal方法与hashCode方法渊源2 Java数据类型相关2.1 int、char、long各占多少字节数Java基本类型占用字节数2.2 int与integer的区别int和Integer的区别Integer.parseInt(“”...…

继续阅读