摘要:
前言和概述 Android的输入设备,最常用的就是 触摸屏和按键 了。当然还有其他方式,比如游戏手柄,比如支持OTG设备,则可以链接鼠标、键盘等。 那么这些设备的操作 是如何传递到系统 并 控制界面的呢?系统如何知道是如何知道点击了某个界面按钮,按了某个按键,知道交给哪个应用处理的? 该篇主要介绍这 阅读全文
摘要:
前言 首先看一个Android界面的布局层次结构,最直观的看一下: 我们能清晰看到,这个界面分成了3部分:顶部状态栏(statusbar)、底部导航栏(navigationbar)、应用界面。 题外话: 查看布局的层次结构,工具或途径可以参考下面的。 Android Studio:Tools->La 阅读全文
摘要:
概述 该篇基于Android 10的代码。在 AMS之AMS的启动 Android Framework(Android 10) 中已经介绍了,在Android 10中,activity的调度和管理已经从AMS移到了ActivityTaskManagerService中(这里简称ATMS),这在下面关 阅读全文
摘要:
前言 Binder 从java到c++到kernel,涉及的内容很多,很难在一篇文章中说清楚。这篇主要是自我记录,方便后续查询并拆分总结的。 因为涉及的的确非常多,不能面面俱到,所以可能一些地方感觉比较模糊、没说明白的。这需要自己去阅读了解。文章很长,需要耐心。 关于基础部分,并不是都要了解了才行, 阅读全文
摘要:
概述 在Android中的多进程、多线程中提过,只有主线程(UI线程)可以更新UI,其他线程不可以,所以一般耗时操作放到子线程。子线程可以通过Handler将相关信息通知到主线程。 Android的消息机制主要是Handler机制。Handler的工作过程,还有两个重要部分MessageQueue( 阅读全文
摘要:
前言 ANR(Application Not Responding),应用无响应,这个可能每个人都碰到过。 该篇主要简单总结下,ANR的几种常见类型(输入事件、广播接收器、Service、ContentProvider),以及ANR一般如何产生的及如何避免。 最后重点是通过源码 了解这几种类型 是如 阅读全文
摘要:
简介 Window简介 Android中,Window是一个重要部分,用户看到的界面、触摸显示界面进行一系列操作都涉及到Window。但实际上,Window本身并不具备绘制功能。 该篇简单介绍下Window的一点内容,同时总结下WMS的启动过程。在下篇会逐步介绍一个Activity是如何创建出窗口 阅读全文
摘要:
概述 这里主要介绍 PackageManagerService(简称PMS)的启动 和 一个应用的安装过程。这里只是大致总结,供参考,不少地方同样需要进一步深入了解学习的。 该篇相关代码也是基于AndroidQ的。 PMS也是核心服务之一,管理包相关内容,解析AndroidManifest.xml、 阅读全文
摘要:
前言 Camera架构本身内容就很多,因此在GMS中关于Camera的测试项很多,CTS/CTSV/ITS(ctsv中)/GTS/CTS-ON-GSI/VTS中都存在相关测试模块。测试了与Camera相关的所有功能。 遇到问题该如何处理? 一时总结不全,不断完善中 经验 camera问题可能功能问题 阅读全文
摘要:
概述 记录一些GMS中常见fail修改,方便查询分享。 一个case可能有多种fail情况,为扩展方便 即使目前仅一种情况也使用了类似“情况一”的数目标识。 该篇分享一些case修改(更新中,若文章长了会另起一篇)。 com.google.android.os.gts.SysConfigTest#t 阅读全文
摘要:
问题 CtsThemeHostTestCases android.theme.cts.ThemeHostTest#testThemes 报错类似: junit.framework.AssertionFailedError: 28 failures in theme test 说明 这个一般是软件修改 阅读全文
摘要:
前言 在Android系统开发中,有时候通过log和报错无法定位到问题时,会通过其他辅助手段。 如我碰到一个问题:客户出的软件存在问题(android.os.cts.StrictModeTest#testCleartextNetwork),我们的各个版本都没有问题,通过log等都找不到原因。 最后, 阅读全文