sunwengang blog

developer | android display/graphics

分类 : android

Android色彩空间(ColorSpace)

色彩空间Color Space广色域WCGWCG(Wide Color Gamut),是Adobe System开发的一种RGB色彩空间,使用纯光谱原色提供较大的色域。与Adove RGB和sRGB相比,能够存储更大范围的颜色值。相比之下,WCG包含CIELAB色彩空间可见颜色的77.6%,而Adobe RGB色彩空间仅覆盖52.1%,sRGB仅覆盖35.9%。 阅读全文

Android Property

property的相关生成文件和设置 android通过SystemProperties的set和get方法来控制很多东西,一般上层添加一个控制开关可以使用这个方法,在系统里面存在很多个prop文件。它们分别是system/build.prop,system/etc/prop.default,vendor/build.prop,vendor/default.prop。下面分别来说下这几个文件的构成。 阅读全文

Android Handler消息循环处理机制(例ActivityThread)

整体流程 关键词:Handler、Looper、MessageQueue、handleMessage 消息被存放于消息队列,应用程序的主线程会围绕这个消息队列进入一个无限循环,知道应用程序退出。(消息循环过程是由Looper实现的) 如果队列中有消息,应用程序的主线程会把它取出来,分发给相应的Handler进行处理; 如果队列中没有消息,应用程序的主县城就会进入空闲等待状态,等待下一个消息的到来; 阅读全文

Android WMS和View基本理解

概述 Window 可以看做是Surface的一个包装,本质上,Window的本体就是一片Surface。将操作对象Surface,对象关联属性集以及操作方法等组合在一起便是 Window。Surface 其实是一块画布,应用可以随心所欲地通过 Canvas 或者 OpenGL 在其上作画,然后通过 SurfaceFlinger 将多块 Surface 的内容按照特定的顺序(ZOrder)进行混合并输出到 FrameBuffer,从而将 Android 漂亮的脸蛋显示给用户。既然每个窗口都有一块 Surface 供自己涂鸦,所以必然需要一个角色对所有窗口的 Surface 进行协调管理。于是,WMS 应运而生。 代码: http://aosp.opersys.com/xref/android-10.0.0_r2/xref/frameworks/base/core/java/android/view/ 阅读全文

Android zygote和SystemServer进程

zygote和system_server在Android中的Java层很重要。 zygote分析 zygote由init进程根据init.rc的配置项创建的。最初叫app_process,但是在运行过程中,通过Linux的pctrl系统调用将其换成了zygote。通过adb shell ps -ef|grep zygote查看到该进程。 阅读全文

Android init进程

概述 init是Linux系统中用户空间的第一个进程。通过adb shell ps -rf查看我的一加手机进程信息。 12UID PID PPID C STIME TTY TIME CMDroot 1 0 0 12:43:34 ? 00:00:10 init init进程负责创建系统中的几个关键进程,例如zygote init提供了一个property service(属性服务)来管理Android系统的众多属性 阅读全文

Android JNI理解

概述 JNI,即Java Native Interface,Java本地调用。通过JNI可以实现: Java程序函数可以调用Natvie语言(C/C++)写的函数 Natvie程序函数可以调用Java层的函数 阅读全文

Android中的makefile(Android.mk)

makefile是和make命令一起使用,在Android中,可以使用mm、mmm、mma进行编译。Makefile可以组织项目中各种库和代码之间的依赖,构建项目,和maven、gradle一样属于构建工具。常用于大型项目。 阅读全文

Use ADB

ADB是连接手机设备和电脑设备的调试桥。这种工具命令用于Android调试是基础而且重要的。 Overview Install: sudo apt-get install adb Function:123456通过adb可以管理、操作模拟器和设备,如安装软件、查看设备软硬件参数、系统升级、运行shell命令等。手机启动USB调试模式,设备连接电脑。注:我的手机一加6的USB调试模式打开方式如下: (1)在手机设置的关于手机找到版本号,双击七次打开开发者模式; (2)在开发者选项中打开USB调试选项; (3)设备连接 阅读全文

在Android源码调试函数的堆栈

在Android代码中可以通过了解函数的CallStack加速调试和分析过程,本文说明如何在Android运行时加入CallStack及Android P上的注意点。 Java12import android.util.Log; Log.d("yourTag", Log.getStackTraceString(new Exception())); 阅读全文

Use VTS

Overview来源为了能更快的将设备升级到新的Android版本,Android O 开始新引入了 Project Treble,Project Treble 适用于搭载 Android O 及后续版本的所有新设备。 阅读全文

Use CTS

OverviewCTS就是兼容性测试为了确保Android应用能够在所有兼容Android的设备上正确运行,并且保持相似的用户体验,在每个版本发布之时,Android提供了一套兼容性测试用例集合(Compatibility Test Suite, CTS)来认证运行Android系统的设备是否完全兼容Android规范,并附带有相关的兼容性标准文档(Compatibility Definition Document, CDD)。 从 http://source.android.com/compatibility/downloads.html( 网络需要能进google)处下载最新的兼容性测试用例集合,并解压。大部分是基于Junit和仪表盘技术编写的。还扩展了自动化测试过程,可以自动执行用例,自动收集和汇总测试结果。CTS采用XML配置文件的方式将这些测试用例分组成多个测试计划(plan),第三方也可以创建自己的plan。 阅读全文