【干货】2024Android高级开发面试宝典以及答案整理1

二、Activity相关

1、启动模式以及使用场景?

2、Activity 四种启动模式常见使用场景

3、启动模式在实际开发中小插曲

4、Activity 中其他常见问题

5、Activity异常生命周期与应用

6、系统配置改变引起异常;

7、系统回收引起异常

8、Activity异常基础处理

9、Activity到底是如何启动的

10、zygote是什么?有什么作用?

11、SystemServer是什么?有什么作用?它与zygote的关系是什么?

12、ActivityManagerService是什么?什么时候初始化的?有什么作用?

13Launcher是什么?什么时候启动的?

14、Instrumentation是什么?和ActivityThread是什么关系?

15、如何理解AMS和ActivityThread之间的Binder通信?

16、AMS接收到客户端的请求之后,会如何开启一个Activity?

三.Fragment

1、Fragment生命周期和Activity 对比

2、Fragment之间如何进行通信

3、Fragment的startActivityForResult

4、Fragment重叠问题

5、Android Fragment完全解析,关于碎片你所需知道的一切中

6、Fragment重叠,如何通信

7、Fragment回退栈管理

8、Fragment与Activity通信

9、Fragment重叠问题

10、Fragment与ActionBar和Menultem

11、没有布局的Fragment—保存大量数据

12、DialogFragment的使用

13、Fragment的startActivityForResult

14、FragmentPagerAdapter与FragmentStatePagerAdapter的区

15、Fragmenti间的数据传递

16、Activity与Fragment生命周期探讨

四、Service相关

1、进程保活

2、Service的运行线程(生命周期方法全部在主线程)

3、Service启动方式以及如何停止

4、ServiceConnection里面的回调方法运行在哪个线程?

5、Android进程保活的一般套路

  • 如何查看进程了解进本信息

  • 进程划分

  • 内存阀值

  • 进程保活方案

6、关于Android进程保活,你所需要知道的一切

  • 保活手段

  • 黑色保活

  • 白色保活

  • 灰色保活

  • 唠叨的分割线

  • 进程回收机制

五、Android布局优化之ViewStub. inelude.merge

1、什么情况下使用ViewStub.include.merge?

2、他们的原理是什么?

3、布局优化神器include . merge. viewStub标签详解

include 标签使用

  • 定义要实现(抽取)的layout布局:

  • Activity的XML布局文件调用include标签

  • Activity中调用include标签layout中的子View

merge 标签使用

  • merge 标签使用前后 y Hierarchy r Viewer 截图

ViewStub 标签

  • ViewStub标签Demo效果图:

  • ViewStub标签使用前后Hierarchy Viewer截图

4、Android布局优化之ViewStub.include. merge使用与源码分析

六、BroadcastReceiver 相关

1、注册方式,优先级

2、广播类型,区别

3、广播的使用场景,原理

4、Android广播Broadcast的两种注册方式静态和动态

  • 静态和动态注册方式

  • 插入BroadcastReceiver的两种常用类型

  • 默认广播下两种注册方式的比较

  • 在有序广播下两种注册方式比较

  • 接受打电话的广播,程序运行与结束时比较两种注册方式

(1)在未退出Activity时,拨打电话,Log如下:

(2)在退出Activity时,拨打电话,Log如下(即便不解除注册,动态仍无法接受到广播):

5、Android四大组件:BroadcastReceiver史上最全面解析

6、安卓广播的底层实现原理

七、AsyncTask 相关

1、AsyncTask是串行还是并行执行?

2、AsyncTask随着安卓版本的变迁

3、Android AsyncTask完全解析,带你从源码的角度彻底理解

  • AsyncTask的基本用法

  • 分析AsyncTask的源码

  • 关于AsyncTask你所不知道的秘密

4、Android源码分析—带你认识不—样的AsyncTask

  • 使用AsyncTask的规则

  • AsyncTask到底是串行还是并行?源码分析

  • 让你的AsyncTask在3.0以上的系统中并行起来

八、Android 事件分发机制

1、onTouch和onTouchEvent区别,调用顺序

2、dispatchTouchEvent,onTouchEvent,onInterceptTouch

3、滑动冲突,如何解决

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

Android ViewGroup事件分发机制

源码分析

  • viewGroup - dispatchTouchEvent - ACTION_DOWN

  • ViewGroup - dispatchTouchEvent - ACTION_MOVE

  • ViewGroup - dispatchTouchEvent - ACTION_Up

关于拦截

  • 如何拦截

  • 如何不被拦截

4、如果没有找到合适的子View

讲讲Android的事件分发机制

Activity 的事件分发机制

  • ViewGroup的事件分发机制

  • View 的事件分发机制

  • 再来看看onTouchEvent0

九、Android View 绘制流程

1、简述View绘制流程

2、onMeasure,onlayout,ondraw方法中需要注意的点

3、如何进行自定义View

4、view重绘机制

Android LayoutInflater原理分析,带你一步步深入了解View(一)

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

  • onMeasure0

  • onLayoutO

  • onDraw0

Android视图状态及重绘流程分析,带你一步步深入了解View(三)

  • 视图状态

  • 视图重绘

Android自定义View的实现方法,带你一步步深入了解View(四)

  • 自绘控件

  • 组合控件

  • 继承控件

十Android Window、Activity、DecorView 以及 ViewRoot

十一 Android 的核心 Binder 多进程 AIDL

1、常见的IPC 机制以及使用场景

2、为什么安卓要用binder进行跨进程传输

3、多进程带来的问题

4、Android aidl Binder框架浅析

  • AIDL的使用

  • 分析AIDL生成的代码

  • 不依赖AIDL实现程序间通讯

5、Android应用工程师的Binder l原理剖析

  • 为什么必须理解Binder ?

  • 为什么是 Binder ?

  • Linux下传统的进程间通信原理

  • Linux下的传统IPC通信原理

  • Binder跨进程通信原理

  • 动态内核可加载模块&&内存映射.

  • Binder IPC实现原理

6、Binder通信模型

  • Client/Server/ServiceManagerf驱动

  • Binder 通信过程

  • Binder通信中的代理模式

  • Binder的完整定义

  • 手动编码实现跨进程调用

  • 各Java类职责描述

  • 实现过程讲解

Android 进程间通信 (IPC ) 机制 Binder 简要介绍和学习计划

十二Android 高级必备 :AMS,WMS,PMS

1、Android高级必备:AMS,WMS,PMS

2、从Systemserver到AMS

3、ActivityManagerService 创建过程

4、将SystemServer进程可加到AMS中调度管理

5、创建运行在SystemServer进程中Provider

6、AMs systemReady过程

7、升级相关处理:发送PRE_BOOT_COMPLETED广播

8、收集已经启动的进程并杀死除过persistent进程

9、系统准备好后回调传入的Runnable

10、发送账户启动的广播,涉及多用户

11、启动桌面Home Activity.

12、Android解析ActivityManagerService

13、AMS启动流程和AMS家族

十三、Android ANR

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助

因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
1715801559815)]

[外链图片转存中…(img-LtOCIhHj-1715801559816)]

[外链图片转存中…(img-Nxte8CS9-1715801559817)]

[外链图片转存中…(img-nPt9yhZL-1715801559817)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 17
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值