Android
玖歌丶
glsl、3d、前端、数据库、Android、java
展开
-
Android KeyEvent事件框架总结
Android KeyEvent事件框架总结framework流程View框架处理流程framework流程首先WMS接受到inputEvent 调用 viewRoot的 dispatchInputEvent 方法通过 ViewRootHandler 发送消息 处理消息 调用 enqueueInputEvent 方法将事件入队列在 doProcessInputEvents方法中 循环处理 事件消息 其中调用 deliverInputEvent 方法分发事件deliverInputEvent 方法通原创 2020-10-23 14:20:59 · 2283 阅读 · 0 评论 -
Android 任务、回退栈、亲和度以及相关FLAG说明
Android 任务、回退栈、亲和度以及相关FLAG说明亲和度Intent.FLAG_ACTIVITY_NEW_TASK清除返回堆栈 Activity 3种属性亲和度任务亲和度是一个字符串,来自于根Activity的亲和度。亲和度在如下两种情况下起作用:1. 当启动 Activity 的 intent 包含 FLAG_ACTIVITY_NEW_TASK 标记时2. 当 Activity 的 allowTaskReparenting 属性设为 “true” 时Intent.FLAG_ACTIVI原创 2020-09-12 17:43:00 · 284 阅读 · 0 评论 -
Lifecycle与Activity Fragment绑定原理
Lifecycle与Activity Fragment绑定原理Lifecycle组件Lifecycle与Activity的绑定Lifecycle与FragmentActivity的绑定Lifecycle与ComponentActivity的绑定Lifecycle组件Lifecycle组件是基于观察者模式实现的跟踪并回调其宿主生命周期状态的组件Lifecycle具体实现类是LifecycleRegistryLifecycle基于状态和事件的变化过程实现触发观察者具体方法(每个观察者注册时也会有其状态原创 2020-08-11 19:14:44 · 719 阅读 · 0 评论 -
Android APP及ActivityThread启动流程的一些理解
目录系统启动的初始工作System Server进程Launcher进程六个大类ActivityThread启动流程APP启动流程ActivityManagerService相关启动流程图系统启动的初始工作1. Android 众多基于Linux内核的系统类似, 启动系统时, bootloader启动内核和init进程.2. init进程分裂出更多名为"daemons(守护进程)"的底层的Linux进程, 诸如android debug deamon, USB deamon等. 这些守护进程处理底层原创 2020-08-01 20:15:35 · 1223 阅读 · 0 评论 -
Android Context详解
目录Context是什么Context继承树组件中的Context获取Context对象Context是什么1. Context表示上下文,表示一个交互的场景,为组件的运行提供各种能力(加载资源、启动Activity、获取系统服务、创建View等)及环境(系统信息,必要数据、标识,自定义数据等)2. 组件必须运行在一个环境下(Context)3. Context提供了关于应用环境全局信息的接口。它是一个抽象类,它的实现由Android系统所提供。它允许获取以应用为特征的资源和类型,是一个统领一些资源原创 2020-07-15 11:47:24 · 389 阅读 · 0 评论 -
Android 事件分发机制详解
目录Activity dispatchTouchEventViewGroup dispatchTouchEventView dispatchTouchEventActivity dispatchTouchEvent1. Activity的dispatchTochEvent作为事件入口2. 如果事件为ACTION_DOWN(表示一整个触摸事件的开始),则调用onUserInteraction()(空方法),可重写,表示用户的一次交互3. 通过 getWindow().superDispatchTouc原创 2020-07-13 21:04:15 · 224 阅读 · 0 评论 -
Android Hander post与sendMessage的区别
Android Hander post与sendMessage的区别postMessage缓存相关 SDK 29post1. post方法其实与sendMassage方法一样,都会调用sendMessageDelayed(msg, 0);2. post则是通过 getPostMessage(Runnable r) 方法调用 Message.obtain() 方法从Message类中自带的缓存队列(被回收的message对象组成的链表)中获取 message对象,如果没有缓存对象,则new Mes原创 2020-07-11 23:38:32 · 931 阅读 · 0 评论