guojiayuan002的博客

博主目前专注Android开发,欢迎评论交流

Okhttp和五大拦截器

1.1. OkHttp的特点 是基于建造者模式(将一个复杂对象的构建与它的表示分离,用于属性参数很多时) 链式调用,每一个方法的返回值类型都是当前类的对象 1.2. OkHttp的优点 支持HTTP2/SPDY(SPDY是Google开发的基于TCP的传输层协议,用以最小化网络延迟,提升网络...

2019-08-05 16:11:47

阅读数 6

评论数 0

Android IPC 中抛出的异常 TransactionTooLargeException

1. 背景 项目中用到 aidl 通信,在客户端使用aidl 向 服务端 无限发送数据通信时 会抛出TransactionTooLargeException Process: com.snbc.cabinetclient, PID: 22854 io.reactivex.exception...

2019-07-11 14:58:53

阅读数 13

评论数 0

Android应用程序(activity)启动过程(三)API28

文章基于API28本的activity启动过程,和26版本的启动过程改动不大,主要是在realStartActivityLocked方法之后,修改了activity的调用,读本文之前建议先了解之前版本activity的调用过程,文章将直接讲解主要不同之处。 Android应用程序(activity...

2019-05-15 11:44:59

阅读数 44

评论数 0

Eclipse项目 迁移到Android Studio发生的问题

问题 Execution failed for task ':app:mergeDebugResources'. > Error: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Except...

2019-05-05 15:23:26

阅读数 24

评论数 0

解决 GreenDao 多线程查询引发的OOM异常

1、java.lang.OutOfMemoryError: Failed to allocate a 56 byte allocation with 32 free bytes and 32B until OOM 2、java.lang.OutOfMemoryError: OutOfMemoryE...

2019-04-08 11:28:58

阅读数 366

评论数 0

Android Glide4.0源码解析 读书笔记

文章基于 Glide4.7.1;只分析主要分析主要流程,包括如何绑定生命周期,哪里请求图片资源,解析资源三大块 大纲:Glide.with(context).load(url).into(imageView) 1.首先 Glide.with() 有很多重载方法,可以接受Context,Activi...

2019-01-24 10:52:19

阅读数 50

评论数 0

Android 静默安装和自启动

需求:更新APP时,需要更新完自动启动APP的MainActivity(主页面)。注意:静默安装需要Root权限。 自定义一个类 AutoInstallRestartManager //静默安装 public static void installSilent(String apkP...

2018-11-08 15:21:26

阅读数 357

评论数 0

System.arraycopy();参数说明

1.demo,将lengthByte中的数据copy到mPlayText中 arraycopy(Object src, int srcPos, Object dest, int destPos, int length) src:lengthByte 源数组 srcPos:源数组中起始co...

2018-10-29 15:06:20

阅读数 56

评论数 0

Android应用程序(activity)启动过程(二)

继 Android应用程序(activity)启动过程(一),主要讲新进程和activity如何启动 从 第14步骤 调用 ActivityStack resumeTopActivityInnerLocked方法中最后面有一个方法startSpecificActivityLocked()。 ...

2018-10-17 15:25:24

阅读数 70

评论数 0

Android应用程序(activity)启动过程(一)

参考文章 Android应用程序启动过程源代码分析 从桌面启动 Launcher.startActivitySafely ——> startActivity() ——&...

2018-10-08 18:01:23

阅读数 162

评论数 0

Android面试总结(高频)问题

Activity的生命周期,屏幕切换时走了哪些生命周期 Fragment生命周期、使用Fragment中遇到的坑 事件分发机制 自定义View、VIewGroup区别 Activity启动流程(较难) TCP和UDP区别 https和https区别 handler原理(必会) okhttp原理(必...

2018-09-22 11:27:09

阅读数 205

评论数 0

Android CountDownLatch 实现线程同步

CountDownLatch complteLatch = new CountDownLatch(1); 主要方法 complteLatch.await(); complteLatch.await(timeout, unit); 多长时间自动唤醒 complteLatch.countDown...

2018-09-19 17:52:40

阅读数 221

评论数 0

Android AIDL通信,及其Binder通讯原理

1.为什么试用aidl,而不是直接通信? 一个进程空间分为:用户态和内核态,即把进程内用户和内核隔离开来 进程之间,由于Android系统为每个进程分配了一个独立的虚拟机,用户空间和内核空间的数据不可交互 Binder作为进程间的介质,充当了中介,使得进程间的内核态可以通过Binder进行数据...

2018-09-17 14:49:27

阅读数 95

评论数 0

Win10下 Java环境变量配置

Win10下 Java环境变量配置

2018-07-27 14:19:03

阅读数 111

评论数 0

百万量级整数集合,只有两个数字相同,要求写出这个数字

//1.装入set集合去除重复 方案1:采用2-Bitmap(每个数分配2bit,00表示不存在,01表示出现一次,10表示两次,11多次)进行,共需内存内存,还可以接受。然后扫描这2百万个整数,查看Bitmap中相对应位,如果是00变01,01变10,10变11。所描完事后,查看bitmap,...

2018-07-23 15:08:20

阅读数 174

评论数 0

Android面试经典题——如何捕获(处理)未捕获的异常

直接上代码 1.自定义一个UncaughtExceptionHandler public class CrashHandler implements Thread.UncaughtExceptionHandler { private static final String TAG = ...

2018-07-20 17:09:37

阅读数 513

评论数 0

Java 面试 有1,2,3,4个数字,能组成多少个互不相通且无重复的三位数?都是多少?

private void test() { int number = 0; int count = 0; for (int i = 1; i <= 4; i++) { for (int m = 1...

2018-07-20 16:36:26

阅读数 292

评论数 0

Retrofit+RxJava上传Map类型的表单、文件

/** * 工单录入 */ @Multipart @POST("your url") Observable<JavaBean> add...

2018-07-10 17:24:08

阅读数 719

评论数 0

try-catch-finally-return的执行先后顺序问题

本文记录两种比较绕的情况 前提:不管有没有异常,finally块中代码都会执行 情况1. catch 和 finally 中都有return 的情况,执行步骤 1、3、5、6(但是步骤五没有看到Log 工具AS 段点调试)返回值是2. - 不要在finally 中 retrun因为在 f...

2018-06-26 17:58:51

阅读数 675

评论数 0

SparseArray 源码解析及hashMap性能对比

SparseArray数据结构: private int[] mKeys; // int 数组 保存 key private Object[] mValues; // Object 数组 存value private int mSize; // SparseArray 的长度 Spar...

2018-05-29 16:17:49

阅读数 92

评论数 0

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