首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
深入Android系统
订阅
apigfly
更多收藏集
微信扫码分享
微信
新浪微博
QQ
22篇文章 · 1订阅
深入Android系统(十二)Android图形显示系统-2-SurfaceFlinger与图像输出
最近有些忙,切实体验了一把拖更的羞耻感 ( *︾▽︾) 了解SurfaceFlinger之前我们需要先了解下OpenGL相关的一些知识 OpenGL ES与EGL OpenGL 一般OpenGL被认为
深入Android系统(十二)Android图形显示系统-1-显示原理与Surface
Linux通常使用Framebuffer来用作显示输出(Framebuffer知识详解在这里),Framebuffer就是一块内存区域,它通常是显示驱动的内部缓冲区在内存中的映射。 一旦用户进程把图像数据复制到Framebuffer中,显示驱动会一个像素一个像素地扫描整个Fra…
今日头条 ANR 优化实践系列 - 设计原理及影响因素
ANR 问题,对于从事 Android 开发的同学来说并不陌生,日常开发中,经常会遇到应用乃至系统层面引起的各种问题,很多时候因为不了解其运行原理,在面对该类问题时可能会一头雾水。与此同时,因为现有监控能力不足或获取信息有限,使得这类问题如同镜中花水中月,让我们在追求真理的道路…
深入Android系统(十一)AMS-4-广播管理
Broadcast实质上是提供了一种更灵活的使用Intent的方式。 BroadcastReceiver是一种很简单的组件,甚至在ActivityThread中都没有管理它的数据结构。 实现一个广播接收器只需要继承BroadcastReceiver,然后实现它的抽象方法onRe…
深入Android系统(十一)AMS-3-Service和ContentProvider管理
android:process:指定将运行服务的进程的名称。 正常情况下,应用的所有组件都会在为应用创建的默认进程中运行。该名称与应用软件包的名称相同。 如果进程名称以小写字符开头,则服务将在使用该名称的全局进程中运行,前提是它拥有相应的权限。如此一来,不同应用中的组件便可共享…
深入Android系统(十一)AMS-2-Activity生命周期管理
当一个Activity对象的状态发生变化时,会调用上图中定义的抽象接口来通知应用。相关描述如下: mAction是一个字符串,用来指明要执行的操作是什么。 在Intent类中定义了大量的Action,例如ACTION_VIEW、ACTION_SEND等。 mData储存需要传递…
深入Android系统(十一)AMS-1-应用组成与服务的启动
我们不止一次提到Android一直想弱化进程的存在,但是,Android毕竟是建立在Linux系统之上,基础的运行环境还是由进程组成。 我们前面已经介绍,所有的Android的应用程序都是由Zygote进程fork而来,因此,构成应用进程的底层基础,像虚拟机、动态库等都是相同的…
深入Android系统(十)PMS-1-服务初始化
前两篇主要梳理了PMS初始化的流程和初始化的一些细节;最后一篇对应用的安装过程进行了简单梳理。 有没有注意梳理字眼,关于想要深入全面学习PMS的同学只能非常抱歉,本系列文章也仅仅是起到的主要流程的梳理作用。 阅读PMS的方法有点拆俄罗斯套娃的感觉,一层又一层。。。。 Andro…
深入Android系统(十)PMS-2-初始化的一些细节
注册Watchdog监听,此处列出它来主要是为了呼应前面的章节。哈哈哈,重点是第二点 readPermissions()方法先检测指定目录下的xml文件,然后调用readPermissionsFromXml方法来解析文件并将解析结果填充到SystemConfig对应的数据结构中…
深入Android系统(十)PMS-3-应用安装过程
研究应用的安装过程,老样子,我们还是先从使用入手。 在InstallStart中会进行各种Uri的判断,最终会跳转到一个叫做PackageInstallerActivity的界面。 PackageInstallerSession中保存了应用安装的相关数据,例如,安装包的路径、安…