- 博客(14)
- 资源 (23)
- 收藏
- 关注
原创 架构师学习--组件化开发之路由参数传递
本章主要讲解组件化是如何实现组建之间参数传递的,代码基于之前一章内容架构师学习–组件化开发之路由ARouter设计一、如何实现模块之间参数的传递1、通过getIntent()传统方式2、通过javapoet最终生成的文件格式如下:二、代码生成1、创建参数注解2、创建注解处理器(1)遍历Parameters节点(2)解析Parameters节点,并保存到mapmap集合...
2019-07-29 17:00:25 229
原创 架构师学习--组件化开发之路由ARouter设计
使用过阿里开源项目ARouter路由框架的都知道,为组件化开发打开了一扇大门。使用组件化的目的就是解决团队开发,各自负责各自的模块,互不干扰,模块之间能够完全解耦,加快开发效率。这样做还有一个好处就是,如果有一个功能模块不需要了,可以在app中删除该模块的依赖即可,不需要大量的删除代码。核心技术是Javapoet,没有了解它的可以看另外一篇文章javapoet简单实用一、如何实现模块之间acti...
2019-07-29 15:54:42 275
原创 架构师学习--组件化开发之Gradle配置
Gradle其实是一个构建工具,它是用来帮助我们构建app的,构建包括编译、打包等过程。其实AS默认就为我们的app完成构建,并且每一个module的构建过程都是大同小异的,那么我们就可以提取共同点,比如公共的第三方库等,并且在组件化开发中必然离不开它。一、简单使用创建一个工程,默认会构建app,自己新建一个module,命名为library。...
2019-07-26 13:35:11 278
原创 架构师学习--内置换肤
一、换肤原理首先需要明白以下几点:setContentView()原理布局加载工程Factory2super.onCreate()原理如何拦截Factory2下面就以上几点进行源码分析1、 setContentView()(1)都知道通过setContentView()能够加载布局,那么布局是xml文件,它是如何加载到内存中的呢?首先跟踪源码,最终会跟到AppCompatDel...
2019-07-24 13:58:15 236
原创 架构师学习--组件化开发之APT使用及JavaPoet
一、概念及作用什么事是APT?全称是Annotation Processing Tool,翻译过来就是注解处理工具,它的作用就是可以在代码编译期间对注解进行处理,并且生成Java文件,减少手动的代码输入,因此它能够使我们编写的代码更加优雅。目前很多优秀的第三方库就是使用APT的技术,比如butterknife、retrofit、enentBus等。二、使用1、在当前工程中创建注解的java ...
2019-07-15 22:59:44 307
原创 Binder原理之PMS、AMS注册到ServerManager
先上一张流程图,稳住军心,对着流程图分析更加有信心一、什么是SystemServer源码位置:frameworks/base/services/java/com/android/server/SystemServer.javaSystem Server是android 基本服务的提供者,是android系统运行的最基本需求,所有service运行在一个叫system_server...
2019-07-11 17:09:05 592
原创 Binder原理之Client端、Server端、Binder驱动、ServerManager
Binder在android中无处不在,它提供了android应用间跨进程的能力。其中aidl接口就是Binder的辅助工具,详解参考文章Binder原理解析附上自己花的流程图
2019-07-11 16:00:15 354
原创 JVM内存管理
在jdk1.8之后元数据区取代了永久代。元空间的本质和永久代类似,都是对JVM规范中方法区的实现。不过元空间与永久代之间最大的区别在于:元数据空间并不在虚拟机中,而是使用本地内存...
2019-07-06 14:24:09 131
原创 架构师学习--Handler实现UI更新原理及手撸
一、Handler原理了解其原理首先需要了解一下4个类。Handler (1)负责从子线程(或主线程)发送消息到消息队列(通过sendMessage等方法) (2)处理消息队列返回的消息对象(通过handlerMessage方法)Message 消息对象(包含what、obj、当前handler等属性)Looper 负责从消息队...
2019-07-05 14:00:38 250
原创 架构师学习--Handler及ThreadLocal
首先引入几个问题:Handerl如何避免内存泄漏 更新view,难道只能在UI线程吗?子线程不可以吗? 子线程中为什么不能创建Handler new Handler的两种方式区别 ThreadLocal用法及原理一、Handerl如何避免内存泄漏1、首先写一段内存泄漏的代码,如下:public class HandlerActivity extends AppCompatA...
2019-07-03 17:01:26 323
原创 架构师学习--MVVM
一、概述M:model层 这里指javabean对象。V:就是我们的布局文件VM:负责绑定view层,业务处理。二、使用1、创建View层activity_mvvm.xml,代码如下:<?xml version="1.0" encoding="utf-8"?><layout xmlns:android="http://schemas.android.c...
2019-07-01 13:58:24 183
mockServer+nodejs+express.zip
2020-05-29
permissionDemo.zip
2019-12-31
2.2.4-Shell脚本编写与执行编译ffmpeg库.zip
2019-05-29
android各种布局的下拉刷新上拉加载更多
2016-01-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人