首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
FrameWork
KentWang
创建于2023-06-19
订阅专栏
主要讲安卓三大命脉,handler Binder AMS和WMS PKMS
等 10 人订阅
共14篇文章
创建于2023-06-19
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Android View的绘制原理
Android View的绘制原理,App进程、SystemServer进程、SurfaceFlinger进程之前通力协作。涉及到比较多的基础知识。全文较多源码,建议通过看标题理清流程。
Handler常见问题
Handler内存泄漏的问题太经典了。Handler内存泄漏的原因是什么?如何解决?为什么其他的内部类没有这个问题。
Binder常见面试题
1、Binder有什么优势? IPC通信有以下几种方式,Socket 共享内存 BInder,我会从安全性、易用性、资源消耗几个角度来进行分析 Socket 1、不安全,依赖上层协议,访问接入点开放
如果启动一个未注册的Activity
简述 要启动未注册的Activity主要是要逃避AMS的检测,思路是,检测前要启动的Activity换成注册的,检测通过了,再在启动前换回来。这里主要是两个点。检测前,hookAMS。检测后hookH
Android启动流程
Android的启动流程 1、按下电源键之后,会引导芯片代码从预定义的地方(固化在rom了)开始执行,加载引导程序BootLoader加载到RAM,然后执行。Bootloader是一段小型的程序,主要
Activity启动模式
Acitivty的本质是什么?这样设计的目的其实是为了满足不同场景下的需求。所有的且都是围绕任务启动和任务切换的问题。
设计模式(3)-动态代理-相关面试题
你能说一下反射和动态代理的关系吗? 动态代理是一种基于反射的机制,它能够动态创建一个实现了指定接口的代理类,并将方法调用到指定的处理器上,准备说是invoke方法。 动态代理 通常用于实现AOP面向切
如何写一个无侵入式的动态权限申请Android框架?
1、核心逻辑 在Activity或者fragment中,写在几个方法写一些注释,用来表示权限申请成功,申请失败,多次拒绝。以上就是使用者需要做的。 简单吧,简单就对了,不用传任何上下文。只需要写注解。
设计模式(2)-动态代理-大白话版
什么是代理? 以租房子举例 房东能用钥匙开门 中介负责开门前带领顾客过去,开门后帮顾客讲解。 房东只要开门就好,所有这个动作的前后都给中介去做。那么中介就是这个代理。 用代码写就是 静态代理 上述就是
WMS(一):概述诞生和增加删除
1、WMS做啥用的的 窗口管理 WMS是窗口的管理者,它负责窗口的启动、添加和删除,另外窗口的大小和层级也是由WMS进行管理的。窗口管理的核心成员有DisplayContent、WindowToken
WMS(二):Surface的创建
ViewRootImpl创建时是会new一个 Surface对象,surface中包含一个canvas. Surface在SurfaceFlinger侧称为Layer。 ViewRootImpl
WMS(三):Surface写入数据
创建Layer 书接上回 surfaceControl构造方法。 JNI去创建C层对象 client(surfaceFlinger的代理对象)->createSurfaceChecked 最终就是Su
Android 权限申请流程
权限申请的流程: 申请权限的Activity-》 调用GrantPermissionActivity-》 通过binder跨进程找到了PKMS-》 permissionManagerService权限
PKMS常见面试题
1、PackageManagerService 类图关系画 PackageManagerService是Android系统核心服务之一,也是Android中最常用的服务之一。 客户端通过Context