
Android
文章平均质量分 79
魔法少女厄加特~
这个作者很懒,什么都没留下…
展开
-
使用Artifactory搭建本地构建仓库
构建仓库?有些人第一次听说这个词的时候可能感到比较陌生,但是做开发的人肯定都有用到过,例如我们做Android开发的常用google和center或者aliyun等仓库,前两者在国内访问是十分费劲的,网络总是会出现问题,对于一些大公司来说,他们可能还会使用自己公司内部的一些资源包,所以我们自己搭建一个这样的构建仓库是十分必要的,不仅仅会提升我们日常开发效率,还会大大的提升安全性。 首先Artifactory是一款收费的软件,它的正版价格是十分昂贵的,但是我们尽量还是要去支持一下正版软件,下面我们来讲讲破解教原创 2020-06-16 00:37:19 · 8360 阅读 · 0 评论 -
Android AMS源码分析之结合AIDL分析bindService
初识AMS(ActivityManagerService) 首先提到AMS(ActivityManagerService)我们先来了解一下Android系统的启动流程,以及AMS是什么时候创建的。 启动到SystemServer这时才会启动一些列的系统服务,其中包括 1.引导服务,例如 ActivityManagerService(AMS)、DeviceIdentifiersPolicyService、 UriGrantsManagerService等 2.核心服务,例如WebViewUpdateS原创 2020-05-14 13:19:47 · 14834 阅读 · 0 评论 -
Android之AIDL使用binder进程间通信原理
上回书说到,如何使用AIDL进行线程进通信 这次我们来研究一下AIDL线程间通信原理。 Binder机制 首先我们需要知道一下什么是Binder机制,具体什么是Binder机制推荐多查一查其他博客,由于太过于偏向底层,稍微做一些了解即可。 代码分析 还是先上代码,首先看一下我们自己定义的AIDL接口 注意,一下代码均是在Android-29(Android 10.0)版本上的 interface IMyAidlInterface { void sendMessage(in String msg);原创 2020-05-14 01:23:53 · 14963 阅读 · 0 评论 -
Binder之AIDL进程间通信的使用(附源码)
废话不多说,先看代码,再讲原理。 首先我们先搞两个进程出来,一个作为客户端(client)一个作为服务端(service)。 在客户端和服务的分别创建一个AIDL接口,可以用如下方式进行创建,需要注意的是,两端创建的接口必须保证完全一致,包括他们的包名,这里的包名可能需要手动去修改一下,不一致的话运行时会抛出如下异常 “Binder invocation to an incorrect inter...原创 2020-05-07 19:49:36 · 20618 阅读 · 0 评论 -
Java 反射与注解的用法与实践
提到Java的反射与注解,大家可能并不陌生,但是在实际开发中用到的可能并不是很多,下面我们来具体的了解一下这两个东西。 反射 众所周知,Java是一门面向对象的开发语言,所以当我们的亲戚朋友问我们有没有对象的时候,如果我们没有对象,我们可以去 new 一个对象出来,通过这种方法,也就解决了广大程序员找不到对象的烦恼,这也就是所谓的正,这也就引出了与正的对立概念——反,所以反射也就这样出来了。 反射...原创 2020-05-06 21:00:47 · 20554 阅读 · 0 评论