Android相关面试题

16 篇文章 ¥49.90 ¥99.00
本文详细探讨了Android开发中的面试重点,包括SharedPreferences的线程安全、序列化与Parcelable的区别、LruCache原理、Android各版本新特性、签名机制演变、apk打包流程、JNI交互、内存泄漏检测、Glide缓存机制、RxJava背压原理、MVVM模式优缺点以及蓝牙通信流程。此外,还涵盖了多机型适配、多渠道打包、图片内存计算、64k问题解决方案以及AndroidX迁移等实战经验。

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

目录

1.SharedPreferences是线程安全的吗?它的commit()方法和apply()方法有什么区别?它有什么缺点?有没有类似更好的方案?

2.Serializable和Parcelable的区别?

3.LruCache底层原理?

4.android 5.0、android 6.0、android 7.0、android 8.0、android 9.0、android 10、android 11、android12 新特性?

5.请谈一谈Android的签名机制?不同的版本下签名有什么区别?

6.apk的构建打包流程? 

7. 什么是JNI?具体说说Java与c++层如何互调?

8.LeakCanary的工作原理?

9.谈一谈glide缓存机制?

10.谈一谈RxJava背压的原理?

11.什么是Lifecycle?分析下使用场景和内部原理?

12.什么是LiveData?分析下使用场景和内部原理?

13.ViewModel的出现时为了解决什么问题?分析下内部原理?

14.对MVC、MVP及MVVM的理解?

15.MVP你是如何防止Presenter层内存泄漏?

16.讲一下蓝牙有几种方式,BLE蓝牙的使用流程?

17.eventBus框架是干什么的?实现机制?

18.分别介绍下你知道的android存储的几种方式?

19.谈一谈你是如何适配多机型的?

20.谈一谈你是如何多渠道打包的?

21.如何计算一张图片所占用内存?

22.有没有遇到64k问题,怎么解决的?

23.如何获取android 设备的唯一码?

24.webp和svg图片各有什么特点?在android中有什么应用?

25.如何绕过android 9.0对反射的限制?

26.为什么要将项目迁移到AndroidX,如何进行迁移?

27.ViewStub可以多次inflate吗? 

28.Flutter相比其他跨平台技术的好处?

29.Flutter与Android相互通信的方式?


1.SharedPreferences是线程安全的吗?它的commit()方法和apply()方法有什么区别?它有什么缺点?有没有类似更好的方案?

1.SharePreferences是线程安全的 里面的方法有大量的synchronized来保障。
2.SharePreferences不是进程安全的 即使你用了MODE_MULTI_PROCESS 。
3.第一次getSharePreference会读取磁盘文件,异步读取,写入到内存中,后续的getSharePrefer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

龚礼鹏

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值