Android 开发基础知识面试

本文详细梳理了Android开发面试中的重要知识点,涵盖了Activity的四种启动模式、.dex文件转换、Parcelable与Serializable的区别、IPC通信机制、AIDL、Binder、Android系统架构、Service的交互方式、广播原理与实现、Fragment常见问题、Intent数据传输限制、事件分发机制、View绘制原理、APK打包安装流程、类加载器机制等。此外,还涉及到了线程池、并发容器、多线程场景、线程安全等Java并发编程内容,以及集合框架、内存管理和性能优化等多个方面的技术要点,是Android面试的全面准备指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

 

activity 4种启动模式

Android dx 工具地将.class 文件转化成.dex文件

Parcelable和Serializable的区别:

IPC

AIDL

binder

Android系统架构图

2.Activity与Service通信?

3.Service的生命周期与启动方法有什么区别?

4广播分为哪几种,应用场景是什么?

5.广播的两种注册方式有什么区别?

6.广播发送和接收的原理了解吗?

8.遇到过哪些关于Fragment的问题,如何处理的?

9.Android里的Intent传递的数据有大小限制吗,如何解决?

10.描述一下Android的事件分发机制?

11.描述一下View的绘制原理?

13了解APK的打包流程吗,描述一下?

14.了解APK的安装流程吗,描述一下?

15.当点击一个应用图标以后,都发生了什么,描述一下这个过程?

16.BroadcastReceiver与LocalBroadcastReceiver有什么区别?

17.Android Handler机制是做什么的,原理了解吗?

18.Android Binder机制是做什么的,为什么选用Binder,原理了解吗?

19.描述一下Activity的生命周期,这些生命周期是如何管理的?

20.Activity的通信方式有哪些?

21.Android应用里有几种Context对象?

22.描述一下进程和Application的生命周期?

23.Android哪些情况会导致内存泄漏,如何分析内存泄漏?

24.Android有哪几种进程,是如何管理的?

25.SharePreference性能优化,可以做进程同步吗?

27.进程保护如何做,如何唤醒其他进程?

28.理解序列化吗,Android为什么引入Parcelable?

29.如何计算一个Bitmap占用内存的大小,怎么保证加载Bitmap不产生内存溢出?

30.Android如何在不压缩的情况下加载高清大图?

31.Android里的内存缓存和磁盘缓存是怎么实现的?

32.PathClassLoader与DexClassLoader有什么区别?

33.WebView优化了解吗,如何提高WebView的加载速度?

34.Java和JS的相互调用怎么实现,有做过什么优化吗?

35.JNI了解吗,Java与C++如何相互调用?

36.了解插件化和热修复吗,它们有什么区别,理解它们的原理吗?

37.如何做性能优化?

38.如果防止过度绘制,如何做布局优化?

39.如何提交代码质量?

40.有没有遇到64k问题,为什么,如何解决?

41.MVC、MVP与MVVM之间的对比分析?

42.类的加载过程,Person person = new Person();为例进行说明。

43.JVM相关知识

44.GC原理

45.类的加载器,双亲机制,Android的类加载器

什么是dex文件

45.集合框架,list,map,set都有哪些具体的实现类,区别都是什么?

46.concurrentHashmap原理,原子类

47.volatile原理

48.多线程的使用场景

49.线程池的相关知识

50.JAVA常量池

51.简单介绍一下java中的泛型,泛型擦除以及相关的概念。

还有些优秀的面试总结


activity 4种启动模式

  • 生成重复页面。 
    以前遇到过这样的Bug: 
    1. 消息推送,通知栏弹出Notification,点击Notification跳转到指定Activity,但是如果我现在页面就停留在那个指定的Activity,会再次打开我当前的Activity,这样返回的时候回退的页面和当前页面一样,感官上就会很奇怪。
    2. 登录的时候,登录成功跳转到主页,按下两次登录按钮,生成了两个主页。一些有启动延迟的页面(往往是动画,网络造成)也会有这样的情况。

为什么要研究启动模式

  1. 有时候我们的App需要生成给其他App调用的Activity,例如浏览器应用,照相机应用
  2. 解决生成重复页面等等Bug
  3. 任务栈过深的时候,避免一直按返回键
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZhangJiQun&MXP

等到80岁回首依旧年轻

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值