![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
文章平均质量分 59
TZ-LF
这个作者很懒,什么都没留下…
展开
-
android消息机制
android消息机制按语言分层主要包含: 1.JAVA:Thread, ThreadLocal, Looper,MessageQueue, Message,Handler 2.Native:NativeMessageQueue.cpp 3.C++:Looper.cpp, Looper.h(MessageEnvelope,Message,MessageHandl原创 2017-12-18 11:21:40 · 359 阅读 · 0 评论 -
Task,taskaffinity, launchmode
1. Task 是 Framework的概念,对应TaskRecord,每个TaskRecord有唯一的taskId2. 在Framework每个Activity实例对应ActivityRecord,Activity可以通过getTaskId()获取对应的taskId在应用端每个Activity实例对应一个ActivityClientRecord,每个进程有唯一的ApplicationTh原创 2017-12-25 16:20:01 · 293 阅读 · 0 评论 -
Binder通信原理简介图
本文基于android7.1。Binder的作用的是跨进程通信,提供进程间交换数据。当然也适用于同一个进程间通信。大致流程:客户端打包数据------>框架------->服务端------->返回结果到框架------->客户端理解Binder通信最重要的就是把业务层和框架分开, 业务层就是客户端和服务端约定的接口,框架层用于传递打包(Parcel)后原创 2017-12-25 11:07:57 · 549 阅读 · 0 评论 -
ThreadLocal原理简介
ThreadLocal:线程本地变量 作用就是为当前线程绑定独有的对象,如同 Thread 的 id, name,priority等 主要有get和set方法。 以Looper.java为例,说明其用法 看andrid7.1中ThreadLocal的实现,如下图 原理:原创 2018-01-13 10:32:28 · 280 阅读 · 0 评论 -
长截屏原理
前几天看到小米手机的长截屏功能,几天下来有了如下思路。 1. 找到到目标Activity实例 2. 控制目标Activity实例滑动截屏 3. 传递截屏数据到当前进程A)首先如何找到目标Activity实例。 先看下图: 对于每个Activity实例,其所在的进程有唯一的ActivityThread实例(PS:其main方法其实是应用入口)。ActivityThread中有App原创 2018-01-19 09:07:53 · 5268 阅读 · 1 评论