android面试题相关

【KO】Android 网络相关面试题 回答网络问题时,务必结合 Android 实际场景(如 OkHttp、Glide、系统 API ),体现你对“Android 网络栈”的理解。聊 HTTPS 时,提证书锁定和自签名证书处理(面试官关注安全实践 )。聊 TCP/UDP 时,结合OkHttp 连接池或WebRTC 实时通信(体现场景化思考 )。这样的回答,既覆盖底层原理,又关联 Android 开发实战,更符合中高级面试对“知识深度 + 业务落地”的考察要求~ 阅读详情

1. Dalvik 和 ART 的区别?
  • Dalvik 每次运行都需要把字节码即时编译成机器码(JIT);ART 会在安装时把字节码预编译成机器码,使其成为真正的本地应用。
  • ART 占用空间比Dalvik 大,大约(10%~20%),用空间换时间。
  • ART 不用每次运行都重新编译(AOT),减少cpu使用频率,降低能耗。

JVM 基于栈,Dalvik 基于寄存器。

.dex文件–>AOT预编译–>.oat文件–>在ART上运行

2. Bitmap 优化?

通过BitmapFactory.options

  • inPreferredConfig 设置图片解码后的格式,如ARGB_8888 和 RGB_565。其中ARGB_8888 是8+8+8+8=32,一个像素占用 4 个字节。RGB_565 是 5+6+5=16,一个像素占用 2 个字节。
  • inSimpleSize 设置图片的采样率进行图片的缩放显示。如值为 2 ,表示长宽均为原来的 1/2,整个图片占用内存的面积为原来的 1/4。inSimpleSize 只能设置为 2 的幂。

三级缓存?

内存缓存–>本地缓存–>网络获取 另外要注意 Bitmap 的复用问题。

3. Bundle 用来传递数据,为什么不用 HashMap取代?

Bundle 内部用的 ArrayMap,这其实用ArrayMap和HashMap 的比较。

  • ArrayMap 适合在小数据量时操作,数据量大时性能会退化;HashMap 使用数组+链表,在数据量少的时候Entry[] 会占用更大的内存。而bundle 场景是小数据量。
  • 使用 intent携带数据的话,需要的基本类型和序列化类型。bundle 使用 Parcelable,HashMap 是使用 Serializable。
4. 广播和EventBus的区别?
  • 广播是四大组件之一,EventBus是开源框架;
  • 广播不能执行耗时操作,超过10s会ANR;
  • 广播耗资源,EventBus比较轻量;
  • 广播容易获取Context和intent;
  • EventBus切换线程方便;
  • 广播可以跨进程, EventBus不可以;
5. 什么是 SurfaceView?
  • 子线程绘制

是View的子类,是一个专门用来做频繁绘制的View的子类,它的绘制操作是在子线程中进行的,所以频繁绘制不会造成阻塞线程,用于处理频繁绘制和长时间绘制效果好。如相机,游戏,视频。

子线程涉及到事件同步问题,需要有一个event queue来保存touch event,类似handler。

  • 双缓冲模式

一个后台缓冲区,一个前台缓冲区。本质就是后台线程绘制,UI线程渲染。

6. 什么是Activity,Window,view?
  • Activity 是四大组件之一,存放view的容器;
  • Window是一个抽象类,PhoneWindow是实现类,Activity的setContentView 实际上是调用的PhoneWindow的方法;
  • View 是一个视图对象;

大概的包含关系:Activity–>PhoneWindow–>DecorView–>TitleView + ContentView

7. ClassLoader 原理是什么?

java类加载器有下面几种:

  • BootClassLoader 用于加载Android Framework 层 class 文件。
  • PathClassLoader 用于 android 应用程序类加载器。可以加载指定的dex、以及 jar、zip、apk 中的 classes.dex。
  • DexClassLoader 加载指定的dex、以及 jar、zip、apk 中的 classes.dex。跟上面的区别只是构造参数不同,多了一个dex优化之后的路径。

双亲委托机制:

​ 某个类加载器在加载类时,首先将加载任务委托给父类加载器,依次递归,如果父类加载器可以完成类加载任务,就成功返回;只有父类加载器无法完成此加载任务或者没有父类加载器时,才自己去加载。

8. Java 的回收机制?如何减少oom?

GC判断对象的存活是通过可达性分析算法来进行。

在java中,可作为GC Roots的对象包括:

  • 方法区:类静态属性的对象;
  • 方法区: 常量的对象;
  • 虚拟机栈中的对象;
  • 本地方法栈 JNI 中的对象;

Java回收机制如何减少oom的概率?

  1. 尽可能少的发生内存泄漏;
  2. 尽可能不在循环内申请内存;
  3. 尽可能不在调用次数多的函数中申请内存;
9. 什么是ANR?如何避免ANR?

App长时间无响应,就叫ANR。

  • 前台服务,超时时间为 20s;
  • 后台服务,超时时间为 200s;
  • 前台广播,超时时间为 10s;
  • 后台广播,超时时间为 60s;
  • ContentProvider,超时时间为 10s;
  • 输入事件分发,超时时间为 5s;

如何避免ANR发生?

  1. 主线程避免耗时操作。比如过度复杂的 UI 绘制,网络操作,文件 IO 操作;
  2. 避免主线程跟工作线程发生锁的竞争,减少系统耗时 Binder 的调用,谨慎使用 sharePreference,注意主线程执行 provider query 操作。
Android相关面试题 一.SharedPreferences是线程安全的吗?它的commit()方法和apply()方法有什么区别?它有什么缺点?有没有类似更好的方案? 1.SharePreferences是线程安全的 里面的方法有大量的synchronized来保障。 2.SharePreferences不是进程安全的 即使你用了MODE_MULTI_PROCESS 。 3.第一次getSharePreference会读取磁盘文件,异步读取,写入到内存中,后续的getSharePreference都是从内存中拿了。 4.第一 阅读详情

相关推荐

embedding计算过程

文章目录embedding计算过程(错了跟我讲,我会改)参考示例个人理解过程图示总结(基于pytorch) embedding计算过程(错了跟我讲,我会改) 参考示例 https://www.jianshu.com/p/63e7acc5e890 个人理解过程图示 总结(基于pytorch) 总的来说,就是将独热向量的长度(对应嵌入层的num_embeddings)转变为嵌入层的emdedding_size(而独热向量的维数就是你的数据中一共产生了多少个不一样的词,至少是这么多)。 数据的变化,将二维

纸上得来终觉浅,绝知此事要躬行! 1631

一些Android 相关面试题总结

简单了解一些面试题

weixin_52787191的博客 1586

555时基芯片的5种经典电路设计:从方波发生器到PWM调光实战

本文深入解析了555时基芯片的5种经典电路设计,从基础的无稳态方波发生器、单稳态触发器,到实用的占空比可调PWM信号源,并重点介绍了如何引入TVS保护电路增强系统鲁棒性。最后通过一个带保护的PWM LED调光台灯实战项目,综合展示了信号生成、功率驱动与电路保护的核心技术,是电子爱好者掌握模拟电路设计与应用的绝佳指南。

weixin_29207439的博客 490

Android和JAVA面试题相关资料

android面试题总结加强再加强版(一) http://blog.youkuaiyun.com/superjunjin/article/details/7853546Android面试题整理 http://www.jianshu.com/p/a22450882af2Android客户端面试基础(一)-J2SE http://blog.youkuaiyun.com/johnWcheung/article/details/52834091Android 面试那些事之Java基础 http://blog.youkuaiyun.com/ZZ7ZZ7

m0_74823490的博客 201

海康工业相机硬件触发与YOLOv5实时检测的工业自动化实践

本文详细介绍了如何将海康工业相机的硬件触发模式与YOLOv5目标检测模型相结合,构建一套高实时性的工业自动化质检系统。文章从产线痛点出发,深入解析了硬件接线、SDK回调取图的实战技巧(包括规避常见Bug),并展示了如何将YOLOv5封装为服务,最终通过Flask API串联业务逻辑,实现从精准触发到实时AI判断的完整落地流程。

k6l7m8n9的博客 492

通义千问AI模型对接飞书机器人-集成飞书机器人(2-2)

http请求地址上一篇百炼平台配置的应用地址。

hefaji的博客 1916

2024最新Android算法相关面试大,高级安卓面试题

如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。GitHub地址PS:我GitHub中有大量高阶Android学习视频资料和面试资料包~址](https://bbs.youkuaiyun.com/topics/618156601)**PS:我GitHub中有大量高阶Android学习视频资料和面试资料包~欢迎大家一起交流讨论啊~

m0_61331407的博客 353

利用HTML+CSS设计PPT:html-to-pptx实现自动化转换与可编辑输出

在办公自动化和前端开发领域,将网页技术应用于文档生成是一个重要的技术方向。其核心原理在于通过解析HTML/CSS的结构与样式,将其映射为目标文档的原生对象模型。这项技术的价值在于,它能够将Web技术栈强大的布局与样式能力(如Flexbox、CSS Grid)与办公软件(如Microsoft PowerPoint)的广泛兼容性和可编辑性相结合。在实际应用场景中,这种技术特别适合需要快速生成兼具设计感与实用性的演示文稿,例如数据报告、产品发布和营销材料。本文探讨的html-to-pptx项目正是这一思路的工程实

weixin_30652491的博客 486

Android大厂面试秘籍: View 相关面试题深入分析

想拿下 Android 面试?快瞧!本文深挖 View 相关面试题,从生命周期到动画、性能优化等全解析。源码级剖析,详细解读 View 原理,带你吃透触摸事件、硬件加速等难点,助你突破面试,提升开发实战能力,成为 Android 开发高手。

Android开发领域创作者 865

从零实战:模拟Soul/陌陌附近的人接口爬虫(设备指纹·加密逆向·动态代理全解)

在移动互联网流量见顶的今天,LBS(基于位置的服务)社交平台——尤其是Soul和陌陌——依然掌握着海量高活用户的地理位置画像、兴趣标签、在线活跃时段等敏感数据。对于市场调研、流量运营、甚至是城市热力分析而言,“附近的人”接口是一个极具价值的入口。然而,这两款App均采用全参数加密 + 设备指纹风控 + WAF动态防御的三重护城河。直接使用Requests库调用公开API无异于以卵击石。本文将从逆向工程视角出发,完整还原一套可用的附近人信息采集方案,涵盖:抓包与流量分析(绕过SSL Pinning)

2201_76125261的博客 211

最优控制 (Optimal Control) 算法详解及案例分析

最优控制是一种通过优化控制输入,使系统在满足约束条件的情况下达到最优性能的控制方法。其目标是最小化或最大化一个性能指标。

闲人编程的博客 2091

Android面试题——kotlin相关面试题

Jetpack 是一个丰富的组件库,它的组件库按类别分为 4 类1-架构(Architecture)LifecyclesLiveDataNavigationPagingRoomViewModel2- 界面(UI)EmojiFragmentLayoutPalette3-行为(behavior)SharingSlices4-基础(foundation)AppCompatMultidexTest。

我的博客 6055

[Python图像处理] 十.形态学之图像顶帽运算和黑帽运算

数学形态学(Mathematical morphology)是一门建立在格论和拓扑学基础之上的图像分析学科,是数学形态学图像处理的基本理论。其基本的运算包括:腐蚀和膨胀、开运算和闭运算、骨架抽取、极限腐蚀、击中击不中变换、形态学梯度、Top-hat变换、颗粒分析、流域变换等。本篇文章主要讲解Python调用OpenCV实现图像形态学转化,包括图像顶帽运算和图像黑帽运算,基础性知识希望对您有所帮助。

杨秀璋的专栏 1万+

最新Android开发面试常见的 Handler 相关面试题,你能答上几题?,安卓面试题2024中高级

都说三年是程序员的一个坎,能否晋升或者提高自己的核心竞争力,这几年就十分关键。技术发展的这么快,从哪些方面开始学习,才能达到高级工程师水平,最后进阶到Android架构师/技术专家?我总结了这 5大块;我搜集整理过这几年阿里,以及腾讯,字节跳动,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 PDF(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。Java语言与原理;大厂,小厂。Android面试先看你熟不熟悉Java语言高级UI与自定义view。

2401_84545618的博客 790

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

android高级工程师面试题及答案,Android开发相关的Blog推荐,2024阿里巴巴安卓面试真题解析

现在随着短视频,抖音,快手的流行NDK模块开发也显得越发重要,需要这块人才的企业也越来越多,随之学习这块的人也变多了,音视频的开发,往往是比较难的,而这个比较难的技术就是NDK里面的技术。音视频/高清大图片/人工智能/直播/抖音等等这年与用户最紧密,与我们生活最相关的技术一直都在寻找最终的技术落地平台,以前是windows系统,而现在则是移动系统了,移动系统中又是以Android占比绝大部分为前提,所以AndroidNDK技术已经是我们必备技能了。

2401_84103844的博客 663

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

5个Android自定义View相关的面试题

自定义View是Android开发中一个核心的概念,它允许开发者根据应用的特定需求来创建新的视图组件。自定义View的重要性在于它提供了高度的灵活性和创新性,使得开发者可以创建出独特的用户界面和交互体验。自定义View通常涉及继承View或其子类,并重写onMeasureonLayout和onDraw等方法来定义视图的行为和外观。自定义View的绘制流程主要涉及以下几个步骤:首先,通过onMeasure方法确定View的大小;接着,在onLayout方法中确定View及其子View的位置;最后,在。

AntDream的程序世界 701

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

安卓面经_安卓基础面全解析_Android面经(29 30)之内存优化全解析

系列专栏: 安卓面经150道高频面试题答案解析专栏链接:150道安卓高频面试题全解析 安卓面经150道高频面试题答案解析目录详情 : 安卓面经_anroid面经_150道安卓常见基础面试题全解析 安卓系统Framework面经专栏:Android系统Framework面试题解析大全 安卓系统Framework面经目录详情:Android系统面经_Framework开发面经_150道面试题答案解析 Android进阶知识体系解析专栏链接:Android进阶知识体系解析 Android进阶知识体系

2401_87555332的博客 241

2024年安卓最新轻松入门Android直播相关技术 从0搭建直播系统,2024年最新面试题安卓

我们搜集整理过这几年字节跳动,以及腾讯,阿里,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。如果你实在搭建不成功,可以先拿116.196.121.20这个ip做测试,我在京东云上搭建的,配置较低,主要用于大家临时测试,可能不稳定,看一眼就行,后续会关掉,所以还是尽可能自己搭建成功吧。还是以vlc拉流即可,整个过程很缓慢,耐心等待,效果也不是很好,不过能跑通即可,主要是学习。

2401_84519718的博客 407

Android开发面试常见的 Handler 相关面试题,你能答上几题?

1. Handler机制和底层实现? 2.Handler、Thread和HandlerThread的差别 1) Handler线程的消息通讯的桥梁,主要用来发送消息及处理消息。 2) Thread普通线程,如果需要有自己的消息队列,需要调用Looper.prepare()创建Looper实例,调用loop()去循环消息。 3) HandlerThread是一个带有Looper的线程,在HandleThread的run()方法中调用了Looper.prepare()创建了Looper实例,并调用Looper.

m0_65322636的博客 195

安卓开发指南!深度解析跳槽从开始到结束完整流程,知乎上转疯了!

前文 本文希望通过揭开一些 React 隐藏的技术细节, 来辅助对官方文档中某些概念的理解 读者可以将本文看做对官方文档的补充 行文方式我采用的是提问-解答的方式, 即先根据官方文档给出的使用规则, 提出Why, 然后我们根据实际的调试再来解答这些Why, 最后系统的整理这些 Why 变成 How, 如果你们有更好的行文方式, 也欢迎留言讨论 另外为了阅读体验, 我不会粘贴过多的源码, 避免打断各位读者的思路. Android 基础 1.Activity 1、 什么是 Activity? 2、

m0_52308677的博客 177

Android面试题相关

下面会推荐一些比较好的Android面试的网站和文章,全部都是干货1、Android面试题目网站2、AndroidNote3、AndroidDifficultAnalysis4、InterviewQuestion5、Java面试题欢迎关注我的公众号:DroidMind精品内容,独家发布...

欢迎关注微信公众号:DroidMind 760

2024年安卓最全电商公司Android 面试总问组件化相关内容_android 电商面试问题,Android工程师面试题及答案

小区中的公告栏可以想象 成一个事件总线发布点,监听者则是哪些想要找房子的人,当有房东在公告栏上 贴上出租房信息时,如果公告栏有订阅信息功能,比如引入门卫保安,已经把之 前来这个公告栏要查看的找房子人一一进行电话登记,那么一旦有新出租消息产 生,则门卫会把这条消息一一进行短信群发,那么找房子人则会收到这条消息进 行后续的操作,是马上过来看,还是延迟过来,则根据自己的实际情况进行处理。可以看到,它是通过遍历之前内部的 ArrayMap,把注册在里面的方法找出,根据传入的参数进行匹配,使用反射调用。

erhtre的博客 319
上一篇: Android 注解和反射实践
下一篇: RxJava原理分析
coder_yao
博客等级 码龄10年 9粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值