okhttp(二) 拦截器

okhttp(二) 拦截器

在前文中讲到了okhttp中的分发器

Mehr lesen

react Hook

Hook技术

Hook 是React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。
Hook 使用了 JavaScript 的闭包机制,而不用在 JavaScript 已经提供了解决方案的情况下,还引入特定的 React API。

Mehr lesen

IOC

Android 推荐应用架构建议将代码划分为多个类,以从分离关注点这一原则(其中,层次结构的每个类都具有一项已定义的责任)中受益。这就需要将更多更小的类连接在一起,以实现彼此之间的依赖关系。

Mehr lesen

Glide框架解析

Glide是android平台中的一个图片加载框架,
可以加载本地图片、网络图片、动态图

Mehr lesen

okhttp解析(一) 执行与分发

okhttp解析

okhttp 是一个网络框架,是当下android使用最频繁的网络请求框架,由Square公司开源。

Mehr lesen

android-自定义View-继承Drawable

源码地址

Mehr lesen

Android 嵌套滑动

Mehr lesen

Android View的事件分发

View的事件分发

首先用户的交互事件都是先交给Actiivty,然后再来向下分发事件

Mehr lesen

网络通信

网络通信

计算机网络发展概史

计算机的发展大致分为以下四个阶段
1、诞生阶段,单个计算机为中心的远程联机系统
2、ARPANET,多个主机通过通信线路互联起来
3、开放性的标准化体系结构,OSI诞生
4、Internet互联网

Mehr lesen

Activity一键换肤

Activity一键换肤

Activity绘制过程

ActivityThread

查看ActivityThread代码源码,
performLaunchActivity函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Activity activity = null;
try {
java.lang.ClassLoader cl = appContext.getClassLoader();
activity = mInstrumentation.newActivity(
cl, component.getClassName(), r.intent);
StrictMode.incrementExpectedActivityCount(activity.getClass());
r.intent.setExtrasClassLoader(cl);
r.intent.prepareToEnterProcess();
if (r.state != null) {
r.state.setClassLoader(cl);
}
} catch (Exception e) {
if (!mInstrumentation.onException(activity, e)) {
throw new RuntimeException(
"Unable to instantiate activity " + component
+ ": " + e.toString(), e);
}
}
......
activity.attach(appContext, this, getInstrumentation(), r.token,
r.ident, app, r.intent, r.activityInfo, title, r.parent,
r.embeddedID, r.lastNonConfigurationInstances, config,
r.referrer, r.voiceInteractor, window, r.configCallback,
r.assistToken);

Mehr lesen

注解

注解

Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。
Java 语言中的类、方法、变量、参数和包等都可以被标注。和 Javadoc 不同,Java 标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。Java 虚拟机可以保留标注内容,在运行时可以获取到标注内容 。 当然它也支持自定义 Java 标注。

Mehr lesen

android消息机制

android 消息机制

在 andorid 中,系统的行为、用户的输入等事件都会被包装为一个消息,
进行消息发送、处理

Mehr lesen

APT注解处理器

APT

APT(Annotation Processing Tool) 是一种处理注释的工具,它对源代码文件进行检测找出
其中的Annotation,根据注解自动生成代码,如果想要自定义的注解处理器能够正常运行,必须要通过
APT工具来进行处理。 也可以这样理解,只有通过声明APT工具后,程序在编译期间自定义注解解释器
才能执行。 通俗理解:根据规则,帮我们生成代码、生成类文件

Mehr lesen

android 性能优化

android性能优化

性能优化分为几个方向:

Mehr lesen

线程与进程

进程是操作系统资源分配的基本单位,

Mehr lesen

android 8.0屏幕朝向

在android8.0设备发现一个问题,在androidManifest.xml中已配置了固定的屏幕方向,
但是在应用中,点击设备menu键,选择应用时,此时应用仍然可以旋转。

Mehr lesen

android内存优化

内存优化

内存检测工具 MAT
android studio profile

Mehr lesen

ContentProvider

ContentProvider

ContentProvider 内容提供者 是android四大组件之一,为不同应用、进程之间数据共享,制定统一的接口

Mehr lesen

Service、IntentService

Service、IntentService

Service是android中四大组件之一,用于处理后台任务,不能处理耗时任务,否则会造成ANR
而IntentService继承自Service,但是可以处理耗时任务,因为在内部开启了一个子线程。

Mehr lesen

Fragment的懒加载实现,参数传递与保存

Fragment懒加载

关于Fragment的懒加载,针对ViewPager、ViewPager2又有不同,

Mehr lesen