提供大良营销网站建设,浅谈高校门户网站建设的规范标准,动漫制作专业有哪些课程,网站数据库太大搬家还原500错误Framework是什么
Framework的中文意思是“框架”#xff0c;在软件开发中通常指开发框架#xff0c;在一个系统中处于内核层之上#xff0c;为顶层应用提供接口#xff0c;被设计用来帮助开发者快速开发顶层应用#xff0c;而不必关心系统内核运行机制#xff0c;通常Fr…Framework是什么
Framework的中文意思是“框架”在软件开发中通常指开发框架在一个系统中处于内核层之上为顶层应用提供接口被设计用来帮助开发者快速开发顶层应用而不必关心系统内核运行机制通常Framework都会隐藏main函数等应用程序必须的组件开发人员只需把精力放在功能代码的实现上。
Android Framework
Android Framework建立在顶层应用与C/C库之间主要由三部分组成服务端、客户端、Linux驱动。它们的主要内容如下图所示 APK程序的运行过程
APK程序的运行流程大概如下图所示 需要重点说明的是ActivityThread是一个类实例所在线程即为UI主线程main方法就在ActivityThread类里面是安卓应用程序的入口。ActivityThread对象在创建之前调用的prepareMainLooper()方法会实例一个Looper对象该Looper对象会创建一个消息队列调用loop()方法后UI线程会进入消息循环体不断从消息队列里抽取消息并处理。ActivityThread的执行流程里面并没有主动创建一个Activity而是同通过创建一个ApplicationThread的Binder监听来自远方AmS的IPC调用在收到创建Activity消息时才开始创建一个主Activity。创建Activity的具体流程如下 值得注意的是W类继承Binder类它负责接收来自WmS的IPC调用并将消息发送至DectorView如果DectorView没有处理则传递给PhoneWindow如果PhoneWindow没有处理则继续传递给ActivityActivity通过Handler来处理此消息。
总结如下一个安卓应用程序在运行之初总共会创建三个线程ActivityThread、ApplicationThread、W。其中ActivityThread为UI线程通过绑定一个Looper不断抽取消息并处理ApplicationThread与W均为Binder类负责与远方服务器端通信ApplicationThread在主Activity创建之前创建负责监听AmS传来的创建Activity消息在Activity创建完毕后W负责监听WmS发来的消息并将此消息传给Activity。
服务器端
设计服务器端是为了给在安卓机上运行的众多顶层应用提供一个全局服务主要由WmS与AmS构成其中WmS主要负责监听与处理与窗口相关的事件(如监听用户点击、手势)AmS主要负责管理Activity如创建Activity。当用户在安卓机上触发一个事件时服务端会首先获取这一事件如果发现此事件属于某一运行中的应用程序则利用Binder机制将其发送给此应用程序处理。
WmS主要由两个类组成KeyQ类、InputDispatcherThread类。这两个分别创建一个线程KeyQ类负责不断将用户消息存储到QueueEvent消息队列中InputDispatcherThread负责不断从QueueEvent中取出消息进行处理或分发给相应应用。
像 Android Framework 的中的知识点还有很多如
Activity 生命周期管理 Android 应用程序中 Activity 的创建、销毁、暂停、恢复等状态确保应用程序可以正确地响应用户操作。Fragment允许在一个 Activity 中组合多个 UI 组件布局支持灵活的 UI 布局。Service允许在后台执行长时间的任务或操作如播放音乐、检查邮件等。BroadcastReceiver监听系统广播和自定义广播当有广播消息发送时负责接收处理。ContentProvider管理应用程序中的数据提供数据存储和访问服务实现多个应用程序数据的共享。Intent在应用程序之间传递消息和数据启动其他应用程序的组件如 Activity、Service 和 BroadcastReceiver。AndroidManifest.xml 文件存储应用程序的基本信息和配置包括应用程序的名称、版本、权限等。R.java 文件一个由 Android 自动生成的类用于访问应用程序中的资源标识符如布局、字符串、图像等。权限管理确保应用程序只能访问其被授权访问的数据和系统功能防止应用程序损坏或滥用设备。系统服务提供各种共享系统级别的功能和服务如网络访问服务、通知提示服务、存储管理服务等。View 和 ViewGroupAndroid 中的 UI 控件基本单元用于构建应用程序的界面和用户交互。状态保存与恢复当应用程序被暂停或恢复时负责保存和恢复应用程序的状态和数据。资源管理管理应用程序的资源如图片、布局、字符串等确保资源文件可以被动态加载、修改和卸载。事件处理处理用户的各种输入事件如触碰屏幕、按键事件等响应用户的操作。多线程编程允许应用程序在多个线程中执行任务充分利用硬件资源提高应用程序的性能和响应速度。安全性管理确保应用程序可以正常运行并保护用户的数据和设备不受外界威胁和攻击。动画增加用户体验和可视性使应用程序更具生动性和吸引力。自定义视图扩展应用程序的 UI 功能实现复杂的 UI 效果和流畅度。通知与推送向用户提供通知和推送消息提升用户对应用程序的关注度和使用体验。调试与测试确保应用程序的稳定性和正确性降低应用程序出现问题的风险。…… 所以为了帮助到大家更好的了解Android Framework框架中的知识点这边查阅大量的素材整理了一下的 Android Framework 核心知识点手册里面记录了有Handler、Binder、AMS、WMS、PMS、事件分发机制、UI绘制……等等几乎把更Framework相关的知识点全都记录在册了 《Framework 核心知识点汇总手册》:https://qr18.cn/AQpN4J
Handler 机制实现原理部分 1.宏观理论分析与Message源码分析 2.MessageQueue的源码分析 3.Looper的源码分析 4.handler的源码分析 5.总结 Binder 原理 1.学习Binder前必须要了解的知识点 2.ServiceManager中的Binder机制 3.系统服务的注册过程 4.ServiceManager的启动过程 5.系统服务的获取过程 6.Java Binder的初始化 7.Java Binder中系统服务的注册过程 Zygote
Android系统的启动过程及Zygote的启动过程应用进程的启动过程 AMS源码分析
Activity生命周期管理onActivityResult执行过程AMS中Activity栈管理详解 深入PMS源码
1.PMS的启动过程和执行流程 2.APK的安装和卸载源码分析 3.PMS中intent-filter的匹配架构 WMS 1.WMS的诞生 2.WMS的重要成员和Window的添加过程 3.Window的删除过程 《Android Framework学习手册》https://qr18.cn/AQpN4J
开机Init 进程开机启动 Zygote 进程开机启动 SystemServer 进程Binder 驱动AMS 的启动过程PMS 的启动过程Launcher 的启动过程Android 四大组件Android 系统服务 - Input 事件的分发过程Android 底层渲染 - 屏幕刷新机制源码分析Android 源码分析实战