背景 最近在看一些问题的时候,尤其是一些事务切换闪屏的问题时候,发现对BlastBufferQueue了解的不够深入,就仔细研究了一下。发现BlastBufferQueue和...
![240](https://cdn2.jianshu.io/assets/default_avatar/11-4d7c6ca89f439111aff57b23be1c73ba.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
背景 最近在看一些问题的时候,尤其是一些事务切换闪屏的问题时候,发现对BlastBufferQueue了解的不够深入,就仔细研究了一下。发现BlastBufferQueue和...
假设有这样一个场景,一个是应用主窗口,一个是带有内容的SurfaceControl(简称SC),根据输入事件改变View控件以及SC图层的形态。 这个问题很简单,先监听事件,...
接着上篇文章分析,Android WMS窗口管理[https://www.jianshu.com/p/e00898609874],接下来看一下窗口显示流程: 五.窗口显示 窗...
第一阶段 先确定event log 中relaunch的时间点 往前查找对应event log中configuration_changed 相关log附近时间点往前没找到,请...
获取android 13[https://developer.android.com/about/versions/13/get] 用户控制: 用户在长时间运行的应用程序上获...
基础知识 framework层广播相关的逻辑主要在AMS.java和BroadcastQueue.java中,代表一个广播的是BroadcastRecord。 分类 注册方式...
本文档适合对Service的启动和停止的fwk流程有一定了解的查看。 基础知识 ServiceRecord StartItem Service重启时序图 常见问题问答 什么情...
Android系统中,APP进程被杀后,等一会经常发现进程又起来了,这个现象同APP中Service的使用有很大关系,本文指的Service是通过startService启动...
一、背景介绍 Android在设计上是有真后台的,理论上是希望应用程序能尽可能长地存活,这样用户体验会更好,毕竟热启动肯定比冷启动要快。但是系统内存是有限的,不可能让所有应用...
Condition是对象监视器的替代品,拓展了监视器的语义 区别与联系 联系 都有一组类似的方法:对象监视器: Object.wait()、Object.wait(long ...
多个线程同时对同一个对象进行读写操作,很容易会出现一些难以预料的问题。所以很多时候我们需要给代码块加锁,同一时刻只允许一个线程对某个对象进行操作。多线程之所以会容易引发一些难...
前言 前一段时间写过两篇关于View的文章 Activity中的Window的setContentView[https://www.jianshu.com/p/e62990e...
在以前页面布局多依赖于table,但table标签太多,于是有了absolute布局,float布局等,但它们小问题特别多,要用好并不容易。CSS3里引入了Flexible ...
CSS里浮动float是个概念比较暧昧的属性,撸主最早对浮动float的认识是基于布局的,认为float元素就是用于:“让block元素无视float元素,让inline元素...
首先看看有这几个文件: 上图的bintray.data.gradle,bintray.gradle和install.gradle其他项目也可以复用,只要修改bintray.d...
Camera顾名思义,就是照相机、摄像机的意思。在Android中使用这个类可以做拍照和录像的功能。但是在Android5.0中这个类已经不推荐使用了,5.0之后使用更强大的...
最近在使用同事写的GridSpaceItemDecoratoin时发现不太好用,准备自己重新写一个,于是在网上找资源 在Google找了不少资料,并不如意,故写下此篇 以这位...