自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android Service原理分析之startService(一)

目录Service概述Service分类startService时序图源码解析ActivityManagerService中的处理ActiveServices中的处理Service.onCreate的执行Service.onStartCommand的执行总结1. Service概述Service作为Android四大组件之一,在开发过程中非常常用,它虽然没有ui,但...

2018-11-13 01:23:07 2197 1

原创 Android ContentProvider原理分析

目录ContentProvider概述类图时序图源码解析installProviderContentResolver中的CURDacquireProvider到AMS获取ContentProviderpublishContentProviderremoveDyingProvider总结1. ContentProvider概述ContentProvider作为An...

2018-11-11 15:10:45 8479

原创 Android Broadcast原理分析之Android新版本限制(四)

目录概述官方文档介绍源码解析适配1. 概述随着Android版本不断迭代,Android对后台的管控越来越严格,对于APP而言,通常来讲后台活跃的主要是广播以及service,而Google对于后台的管控也着重就在这两个组件上,本篇文章主要介绍Android O上对于广播的新增限制与管控。升级到Android O之后,可能会发现有些广播收不到了,查看log发现会有如下一些信息"B...

2018-11-10 19:09:12 1340

原创 Android Broadcast原理分析之LocalBroadcast(三)

目录LocalBroadcastManager简介LocalBroadcastManager使用源码解析总结1. LocalBroadcastManager简介前面的文章介绍了常用的Broadcast原理,这种广播是经过系统调度的,不论是动态注册还是静态注册,不论是有序广播还是无序广播,都要经过ams,好处很显然,可以实现跨进程之间的通信,而且有很多广播本身就是由系统发出的,我们需...

2018-11-08 22:15:36 1601

原创 Android Broadcast原理分析之sendBroadcast(二)

目录广播发送与派发整体流程简介sendBroadcast时序图源码解析总结1. 广播发送与派发整体流程简介从上一节广播的注册,可以知道广播机制是典型的观察者模式,那么通知所有receiver的时机具体是什么时候呢,答案就是在发送广播的时候,广播一发送,此时就应该通知所有已经注册的观察者,也就是已经注册的receiver。整个广播的派发的流程其实就是逐个通知观察者的过程。而这整体的流...

2018-11-08 20:53:22 4553

原创 Android Broadcast原理分析之registerReceiver(一)

目录BroadcastReceiver概述BroadcastReceiver分类registerReceiver流程图源码解析总结1. BroadcastReceiver概述广播作为四大组件之一,在平时开发过程中会大量使用到,使用方式也是多种多样的,既可以自己在manifest中注册,也可以在java代码中动态注册,既可以接收由系统发出的广播,也可以接受自己定义并发送的广播。广播...

2018-11-06 23:24:47 14970

原创 Android Context原理分析

目录简介Context类图源码中Context创建ApplicationActivityServiceBroadcastReceiverContentProviderContext使用普通Contextde/ce1. 简介在Android开发中少不了要跟Context打交道,比如启动activity,启动service等。但是又很难表述这个context到...

2018-11-06 01:19:37 1175

原创 Android SharedPreferences原理分析

目录访问SharedPreferencesSharedPreferences的创建与初始化Editor介绍异步操作apply同步操作commit写入文件writeToFileQueuedWork介绍系统组件中对于SharedPreferences的处理总结注:本文基于Android 8.1。1. 访问SharedPreferencesSharedPrefer...

2018-08-03 08:38:54 1063

原创 Android DropBoxManagerService原理分析

目录DropBoxManagerService概述启动与初始化瘦身trimToFit添加文件系统中Dropbox的使用总结  1. DropBoxManagerService概述  Android中dropbox是用来存放调试信息的,或者说是用来存放系统中发生的异常信息的,比如某一个应用发生了crash/anr等,或者系统发生了不可预期的错误,重启,低内存等事件,都...

2018-07-28 19:46:15 2669 1

原创 CTS测试框架 -- 总结

1 添加case针对V1版本的框架,因为框架做的事情比较多,而且需要plan的组织,添加case除了需要把case写好之外,还需要配置case的xml文件,写好每条case,放到制定目录,另外如果想要根据plan来运行的话还需要在plan中进行配置。 针对V2版本的框架,配置起来要简单的多,只需要在case写好之后配置modul所需要的config文件即可,并不需要一定要按照plan进行,可以在命

2017-12-23 13:54:23 1234

原创 CTS测试框架 -- V2版本

目录概述组织case 入口CompatibilityConsoleModuleRepo组件CompatibilityTest执行测试总结1 概述在Android 6.0以及之前的版本上,CTS测试使用的都是前面介绍的V1框架,上篇文章已经介绍了V1框架的组织case的方式以及不足,主要是当测试case不断的增加之后带来的配置文件的不断变大,各模块之间的接耦合成都还是不够,因此就有了V

2017-12-23 13:43:15 3700 2

原创 CTS测试框架 -- V1版本

目录概述组织case CTS框架配置文件测试case配置文件启动框架CtsConsoletest组件CtsTest测试类型执行命令总结1 概述CTS测试框架是有两个版本的,Android 6.0以及之前的版本都统称为V1版本,7.0以及之后的版本为V2(目前Android版本已经迭代到Android O了,目前还是用的V2框架),其实两者都是基于基础框架Trade-Federat

2017-12-16 19:15:27 2373

原创 Android lowmemorykiller分析

目录概述lmkdlowmemorykiller总结  1.概述 Android底层还是基于Linux,在Linux中低内存是会有oom killer去杀掉一些进程去释放内存,而Android中的lowmemorykiller就是在此基础上做了一些调整来的。因为手机上的内存毕竟比较有限,而Android中APP在不使用之后并不是马上被杀掉,虽然上层ActivityManagerServic

2017-12-16 15:41:57 18948 1

原创 CTS测试框架 -- 命令执行

1.命令执行经过了前面对于命令的调度,开启真正命令的执行,在TestInvocation中把configuration中的所有组件都取出来执行。 入口:TestInvocation.invokepublic void invoke( IInvocationContext context, IConfiguration config, IRescheduler rescheduler

2017-12-16 15:36:35 1352

原创 CTS测试框架 -- 命令调度

1.CommandScheduler启动CommandScheduler本身也是一个线程,是在Console线程启动时启动的,作为命令调度的线程,主要作用就是检查本身的CommandQueue中是不是有需要处理的command,进行调度不至于多命令或者多设备时出现混乱,以及启动真正的命令执行线程。public void run() { assertStarted(); try {

2017-12-16 15:26:52 3556 1

原创 CTS测试框架 -- 命令解析

前面已经说过,console线程负责从控制台读取输入,从Command RegexTrie中取出命令去执行,而其中最重要的就是run命令,需要要运行的命令装载并解析并添加到CommandScheduler的命令调度队列中。1.命令命令解析,简单的说,就是解析其中的配置文件生成配置configuration,然后装载成一个command对象。比如:run cts.xml这个命令,在解析的时候就是去查找

2017-12-16 15:20:24 1932

原创 CTS测试框架 -- 基础框架启动

目录整体流程概览MainConsole总结从这篇文章往后开始介绍整个框架的运行流程原理。1.整体流程概览这里是整个测试框架的大纲流程图,其中主要涉及到四个线程: 1. main – 启动入口 2. Console – 处理命令 3. CommandScheduler – 命令调度 4. InvocationThrad – 执行命令 这个图是整体运行的大纲流程,可以先看下有个大

2017-12-16 15:13:30 2326

原创 CTS测试框架 -- RegexTrie

概述:前面已经提到,基础框架Trade-Federation默认就支持很多命令。在控制台输入一组命令,肯定要经过解析,然后去执行的过程。基础框架中对于命令有一个单独的数据结构去组织,并不是通过if-else这样去比较string的。比如:前面提到的命令:run cts --plan cts,这个命令中,run才是命令,而剩下的都属于参数;再比如:list configs,还有命令的简写,list可以

2017-12-16 15:07:31 895

原创 CTS测试框架 -- 基础框架Trade-Federation

目录基础框架介绍命令的支持与组织 – RegexTrie框架入口 – Console命令与配置文件解析 – Configuration命令调度 – CommandScheduler 命令解析执行 – InvocationThread  在接下来几篇文章中将陆续介绍基础框架的原理,主要是上面这些内容。1. 基础框架介绍  CTS测试框架其实是在一个基础框架,也就是这个Trade-Fede

2017-12-02 16:59:35 3117 3

原创 Android Compatibility

目录 - Android Compatibility - Android Source Code - Compatibility Definition Document (CDD) - Compatibility Test Suite (CTS) - CTS测试类型 - CTS测试涵盖领域  Android Compatibility  Android Compatibility

2017-12-02 15:19:50 2346

原创 CTS测试框架 -- 开篇

目录 - Android Compatibility - Android Source Code - Compatibility Definition Document (CDD) - Compatibility Test Suite (CTS) - 原因 - 测试类型 - 测试涵盖领域 - 测试执行

2017-12-02 14:35:46 1180

cts测试框架-V2

cts测试框架-V2,在基础框架的基础上又一次封装,CompatibilityTest

2017-12-23

cts-tradefed-host.zip

CTS测试框架V1版本,下载之后可以导入eclipse使用。 另外,http://download.csdn.net/download/u011733869/10141942这里有基础框架,CTS框架的基础就是这个里面的tradefederation,配合使用更佳~

2017-12-02

tradefederation依赖jar包

tradefed-prebuilt.jar kxml2-2.3.0.jar junit-4.12.jar jsr305lib.jar json-prebuilt.jar jline-0.9.94.jar guavalib.jar guava-15.0.jar ddmlib-prebuilt.jar

2017-12-02

CTS基础框架tradefederation

CTS测试框架的基础框架,tradefederation,依赖的jar包也都在压缩包里,解压之后可以在eclipse中使用。

2017-12-02

junit4.10.zip

junit完整包,包括hamcrest-jar

2016-09-22

空空如也

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

TA关注的人

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