不服不行!终于有人把AMS和WMS讲明白了!

现在的移动开发人才市场上,初中级开发者几乎都是人满为患,互联网公司对移动开发人员的招聘要求也越来越高,尤其是那些大厂,非常看重开发者对底层的掌握。

大家可以先来看一组大厂的面试题:

  • AMS是如何启动的?

  • AMS在Android起到什么作用?

  • AMS有哪些应用场景?我们是如何应用AMS核心原理的?

  • WMS的工作原理说说?

这些底层问题能回答上来吗?是不是有一定难度?

其实很多的移动开发者都止步于这个水平,要想再进一步深入发展很难,进阶学习成为了一个迫在眉睫又进展艰难的点。

进阶学习难吗?有一定难度。工作和学习遇到瓶颈后我们需要钻研底层原理,而现在我们基本上都是上班怼业务业务代码,晚上经常性加班赶任务进度,回到家已经很累了,很少有时间去提升自己的技术。钻研底层原理对我们来说相当奢侈。

钻研底层就离不开源码,而《Android源码与设计模式》一书的作者说:“可以毫不夸张的说,Android的framework层主要是由WMS、AMS还有View所构成,这三个模块穿插交互在整个framework中,掌握了它们之间的关系和每一个逻辑步骤,你对framework的了解至少有百分之五十”。

今天终于有人把AMS和WMS讲明白了!不服不行!

  • 12
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 37
    评论
Android AMS(Activity Manager Service)和WMS(Window Manager Service)是两个核心系统服务,它们之间的交互主要通过Binder IPC(Inter-Process Communication)实现。以下是一些与AMSWMS交互的函数和类: 1. ActivityManagerService类:这是AMS的实现类,提供了许多与Activity和Activity生命周期相关的函数。其中一些函数包括: - startActivity(Intent intent, Bundle options):启动一个Activity。 - resumeAppSwitches():通知AMS恢复应用程序切换。 - moveTaskToFront(int taskId, int flags, Bundle options):将指定的任务移动到前台并重新启动它。 2. WindowManagerService类:这是WMS的实现类,提供了许多与窗口管理相关的函数。其中一些函数包括: - addView(View view, WindowManager.LayoutParams params):向窗口管理器添加一个视图。 - removeView(View view):从窗口管理器中移除一个视图。 - performLayout():执行窗口的布局操作。 3. ActivityManagerNative类:这是AMS的远程代理类,用于实现AMS的远程调用。其中一些函数包括: - getDefault():获取AMS的远程代理实例。 - startService(IApplicationThread caller, Intent service, String resolvedType, int userId):启动一个服务。 4. WindowManagerGlobal类:这是WMS的全局类,提供了全局访问WMS的接口。其中一些函数包括: - getWindowManagerService():获取当前进程中的WMS实例。 - addView(View view, WindowManager.LayoutParams params, Display display, Window parentWindow):向指定的显示器和窗口添加视图。 这些函数和类是与AMSWMS交互的一些基本元素,用于管理应用程序的生命周期和窗口显示。开发人员可以使用它们来创建和管理Android应用程序的界面。
评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值