- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
Android开发面试题及参考答案
一、基础语法与Android核心组件
问题:Java中的HashMap和SparseArray有什么区别?Android中什么时候优先用SparseArray?
答案:HashMap存储键值对时会自动装箱(int→Integer),存在对象开销,且扩容时会重建哈希表,内存占用和性能开销较大;SparseArray直接以int为键,避免装箱,通过二分查找定位元素,删除时用标记回收而非立即移位,效率更高。Android中当键为int类型、数据量在千级以内时优先用SparseArray(比如存储列表数据的索引映射),数据量过大(万级以上)时二分查找效率下降,仍选HashMap。
问题:Activity的启动模式有哪些?SingleTask和SingleInstance的核心区别是什么?
答案:启动模式有standard、singleTop、singleTask、singleInstance四种。核心区别:singleTask会在当前任务栈中查找是否存在该Activity实例,存在则销毁其上方所有Activity并复用,仍运行在原任务栈;singleInstance会为该Activity单独创建一个新任务栈,且栈内只能有这一个实例,其他应用启动该Activity时也会复用这个独立栈的实例(比如系统电话、闹钟界面常用)。
问题:BroadcastReceiver有哪两种注册方式?各自的优缺点和使用场景是什么?
答案:两种注册方式分别是静态注册(AndroidManifest.xml中声明)和动态注册(代码中registerReceiver)。静态注册优点:应用未启动时也能接收广播(比如开机启动、网络变化广播),缺点是常驻内存,耗电耗资源,Android8.0后大部分隐式广播被限制;动态注册优点:灵活可控,可在Activity生命周期内注册/取消,不占用常驻内存,缺点是应用退出(或取消注册后)无法接收广播,需注意在onDestroy中取消注册避免内存泄漏。
二、布局与UI优化
问题:ConstraintLayout相比LinearLayout、RelativeLayout的优势是什么?实际开发中如何用它优化布局层级?
答案:LinearLayout仅支持线性排列,复杂布局需多层嵌套;RelativeLayout支持相对定位,但测量时需遍历子View两次,性能开销大;ConstraintLayout支持线性、相对、百分比等多种定位方式,可在单层布局中实现复杂UI,测量时仅遍历一次,大幅减少布局层级和测量耗时。优化技巧:用constraintDimensionRatio设置宽高比,用goneMargin处理View隐藏后的间距,用Group统一控制多个View的显示隐藏,避免嵌套LinearLayout和RelativeLayout。
问题:RecyclerView的复用机制是什么?如何解决ViewHolder的内存泄漏问题?
答案:RecyclerView通过Recycler缓存池管理ViewHolder,分为四级缓存:第一级是AttachedScrap(屏幕内可见的ViewHolder),第二级是CachedScrap(刚移出屏幕的ViewHolder,数据未变可直接复用),第三级是ViewCacheExtension(自定义缓存),第四级是RecycledViewPool(缓存已解绑数据的ViewHolder,复用前需重新绑定数据)。内存泄漏原因:ViewHolder中持有Activity/Fragment的强引用(比如上下文、监听器),导致Activity销毁后无法被GC回收。解决方法:1.用WeakReference持有上下文或Activity引用;2.在Adapter的onDetachedFromRecyclerView方法中移除所有监听器;3.避免在ViewHolder中存储静态Activity引用;4.用Application上下文代替Activity上下文(非必须时)。
三、性能优化
问题:Android中常见的内存泄漏场景有哪些?如何检测和修复?
答案:常见场景:1.单例持有Activity上下文(单例生命周期长于Activity);2.静态集合未清理(比如staticList存储大量数据);3.Handler内存泄漏(匿名内部类持有Activity引用,消息队列未处理完消息);4.未取消的监听器/广播(比如注册了SensorListen
您可能关注的文档
- Android 高频面试题及参考答案.docx
- Android高级工程师面试题及参考答案.docx
- Angular 高频面试题及实战答案.docx
- AngularJS 面试题及答案(实战版).docx
- AOPA无人机驾驶员考试模拟题及答案.docx
- AOP面试题及参考答案.docx
- App测试面试题及参考答案.docx
- APP测试面试题及答案(无AI感·侧重实操).docx
- ARM嵌入式系统基础试卷及答案.docx
- ASP.NET 面试题及答案(贴合真实面试场景).docx
- 5 客观选择题 复习任务二 观点推理与判断——精准理解,逻辑推断.pptx
- 3 写作复习系列二 议论文写作.pptx
- 2025年注册电气工程师专业考试强制性标准题库考核试卷.doc
- 1 轮考点一 正确运用并分析标点符号——情意表达,句读天下.pptx
- 1 复习前奏一 整体认知——真题指向小说“要素”,教材暗含高考“考点”.pptx
- 3 超重点三 辨析和修改病句——望闻问切,药到病除.pptx
- 5 复习任务二 鉴赏诗歌形象——品象悟境,由形悟神.pptx
- 3 复习前奏三 高效读文——从文本特征和“语法”角度“意读”文言文.pptx
- 2 复习前奏二 学点逻辑——利于读文和解答“逻辑”类题型.pptx
- 义务教育课程标准实验教科书语文七年级下册期末作文立意深刻性与创新性考核试卷.doc
最近下载
- (153页)新统编语文小学语文三年级上册 第五单元全部课件包含习作.pptx
- 琯溪蜜柚的栽培与管理.pdf VIP
- 应变式加速度测试系统与信号处理设计.pdf VIP
- 中国水利水电建设股份有限公司海外业务安全生产、工程质量和环境管理办法.docx VIP
- 世贸组织全球贸易报告.docx VIP
- 健美操(华中农大)中国大学MOOC慕课 章节测验期末考试答案.docx VIP
- ANSI-AWS D1.1-D1.1M 2010 美国钢结构焊接规范 中文版.pdf
- 2025年锅炉试题库(附答案).docx VIP
- 《汉语教程(第三版)第一册 下》教案25 她学得很好.pdf VIP
- 海外工程质量管理办法.docx VIP
有哪些信誉好的足球投注网站
文档评论(0)