首页
AI Coding
沸点
课程
直播
活动
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中保存了应用安装的相关数据,例如,安装包的路径、安…