自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 长截屏原理

前几天看到小米手机的长截屏功能,几天下来有了如下思路。 1. 找到到目标Activity实例 2. 控制目标Activity实例滑动截屏 3. 传递截屏数据到当前进程A)首先如何找到目标Activity实例。 先看下图: 对于每个Activity实例,其所在的进程有唯一的ActivityThread实例(PS:其main方法其实是应用入口)。ActivityThread中有App

2018-01-19 09:07:53 5204 1

原创 ThreadLocal原理简介

ThreadLocal:线程本地变量       作用就是为当前线程绑定独有的对象,如同 Thread 的 id, name,priority等       主要有get和set方法。       以Looper.java为例,说明其用法          看andrid7.1中ThreadLocal的实现,如下图               原理:

2018-01-13 10:32:28 272

原创 Task,taskaffinity, launchmode

1. Task 是 Framework的概念,对应TaskRecord,每个TaskRecord有唯一的taskId2. 在Framework每个Activity实例对应ActivityRecord,Activity可以通过getTaskId()获取对应的taskId在应用端每个Activity实例对应一个ActivityClientRecord,每个进程有唯一的ApplicationTh

2017-12-25 16:20:01 280

原创 Binder通信原理简介图

本文基于android7.1。Binder的作用的是跨进程通信,提供进程间交换数据。当然也适用于同一个进程间通信。大致流程:客户端打包数据------>框架------->服务端------->返回结果到框架------->客户端理解Binder通信最重要的就是把业务层和框架分开, 业务层就是客户端和服务端约定的接口,框架层用于传递打包(Parcel)后

2017-12-25 11:07:57 540

原创 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 352

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除