android底层
文章平均质量分 87
宇宙小生命
这个作者很懒,什么都没留下…
展开
-
Android Binder设计与实现 - 设计篇
摘要Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之与传统IPC做对比有助于我们深入领会进程间通信的实现和性能优化。本文将对Binder的设计细节做一个全面的阐述,首先通过介绍Binder通信模型和B转载 2014-12-29 13:50:29 · 337 阅读 · 0 评论 -
android input子系统详解
Input子系统是一个庞大的系统,为了简单明了的介绍该系统,我们采用分模块以及倒序追踪的方式来一步步解开它的面纱。 一、java层事件传递过程 我们从这个button被点击来研究input子系统中事件的传递。废话不多说,对button加一个OnTouchListener,在其onTouch方法上加一个断点,直接利用ec原创 2015-09-13 16:59:21 · 5087 阅读 · 0 评论 -
watchdog杀死system_server导致系统重启问题分析流程
下面是最近在解一个monkey测试过程中系统重启的bug的分析过程,从这里我们可以看一下对于watchdog杀死死锁进程的一般分析流程。(这里当是一个笔记,没有详细按着文章的逻辑来整理词汇和语句 汗汗汗)1. watchdog: Blocked in handler on ActivityManager (ActivityManager) 说明Activity原创 2016-09-23 20:41:25 · 8737 阅读 · 0 评论 -
view invalidate流程
view.invalidate---viewparent.invalidateInparent---ViewRootImpl.invalidateInparent---ViewRootImpl.scheduleTraversals---Choreographer.postCallback (vsync信号到来)---performTraversals--performDraw--原创 2016-10-14 21:59:28 · 578 阅读 · 0 评论 -
android 硬件加速
1. 硬件加速原理: 将所有的cavas操作,比如drawBitmap drawLine 等转化为opengl的操作命令,存储到displaylist中,这样的好处是防止重复绘制? 在对view做动画的时候,可以开启硬件加速,setLayerTyep 这样可以将view缓存到硬件纹理上,做动画的过程中就不会反复绘制view原创 2017-02-21 20:47:44 · 393 阅读 · 0 评论