• SnapHelper源码深度解析

    目录介绍 01.SnapHelper简单介绍 1.1 SnapHelper作用 1.2 SnapHelper类分析 1.3 LinearSnapHelper类分析 1.4 PagerSnapHelper类分析 02.SnapHelper源码分析 2.1 attachToRecyclerView入口方法 2.2 SnapHelper的抽象方法 2.3 onFling方法源码分析 03.LinearSn

    18-11-09
  • App启动流程

    目录介绍 1.什么是Zygote进程 1.1 简单介绍 1.2 各个进程的先后顺序 1.3 进程作用说明 2.Zygote进程的启动流程 2.1 源码位置 2.2 ZygoteInit类的main方法 2.3 registerZygoteSocket(socketName)分析 2.4 preLoad()方法分析 2.5 startSystemServer()启动进程

    18-11-06
  • 异常机制详解

    目录介绍 1.什么是异常 2.异常 2.1 异常的概述和分类【了解】 2.2 JVM默认是如何处理异常的【理解】 2.3 异常处理的两种方式【理解】 2.4 try...catch的方式处理异常【掌握】 2.5 编译期异常和运行期异常的区别【理解】 2.6 throw的概述以及和throws的区别【

    18-11-05
  • 类的加载机制

    目录介绍 01.Java对象的创建过程 1.0 看下创建类加载过程 1.1 对象的创建 1.2 对象的内存布局 02.Java内存区域 2.0 运行时数据区域 2.1 程序计数器 2.2 虚拟机栈 2.3 本地方法栈 2.4 Java堆 2.5 方法区 2.6 运行时常量池 2.7 直接内存 03.Java对象的访问定位

    18-11-02
  • Android:四大架构的优缺点,你真的了解吗?

    声明转载于作者:KunMinX原文链接:https://www.jianshu.com/p/9ef813d5c1af 前言 前不久刚结束对 20 模块项目的第 3 轮重构,一路见证 MVC、MVP、Clean 的优缺点并形成自己的体会。 近期在总结工作经验的同时,开始写博客。顺便开源了我设计的 ViaBus 架构

    18-11-01
  • AsyncTask异步任务类

    目录介绍 01.先看下AsyncTask用法 02.AsyncTask源码深入分析 2.1 构造方法源码分析 2.2 看execute(Params... params)方法 2.3 mWorker和mFuture的创建过程 03.异步机制的实现 04.不同的SDK版本区别 05.AsyncTask的缺陷和问题 5.1 AsyncTask对应线程池 5.2 As

    18-10-30
  • Retrofit源码分析

    目录介绍 1.首先回顾Retrofit简单使用方法 2.Retrofit的创建流程源码分析 2.1 Retrofit对象调用Builder()源码解析 2.2 Retrofit对象调用baseUrl(url)源码解析 2.3 addConverterFactory(Converter.Factory factory)源码分析 2.4 addCallAdapterFactory(RxJava

    18-10-29
  • Android异步消息机制

    目录介绍 1.Handler的常见的使用方式 2.如何在子线程中定义Handler 3.主线程如何自动调用Looper.prepare() 4.Looper.prepare()方法源码分析 5.Looper中用什么存储消息 6.Handler发送消息如何运作 7.Looper.loop()方法源码分析 8.runOnUiThread如何实现子线程

    18-10-27
  • Android之MVVM架构指南(一):导语

    之前我在 Android MVP升级路系列的最后一篇文章中提到过有关MVP的没落,虽然有些无奈但没办法这是这样的时代,技术亦如此更何况我们人呢。 很荣幸的是MVP系列的文章得到了好多朋友的回复,其中也有一些对架构设计存在异义的朋友,我基本上也没继续深入探讨因

    18-10-24
  • 崩溃bug日志总结3

    目录介绍 1.1 OnErrorNotImplementedException【 Can't create handler inside thread that has not called Looper.prepare()】 1.2 adb.exe,start-server' failed -- run manually if necessary 1.3 java.lang.IllegalStateException: ExpectedBEGIN_OBJECT

    18-10-23
  • APP瘦身这一篇就够了

    目录 1.App为何臃肿? Android出现的最初几年里很少有几十兆的APP,但是现在我们却发现几十兆的应用比比皆是,出现这种情况的原因主要有以下三种: Android碎片化的发展使得dpi的分类越来越多,从最初的ldpi、mdpi、hdpi到后来的xhdpi、xxhdpi、xxxhdpi、tvd

    18-10-23
  • 崩溃bug日志总结2

    目录介绍 1.1 java.lang.ClassNotFoundException类找不到异常 1.2 java.util.concurrent.TimeoutException连接超时崩溃 1.3 java.lang.NumberFormatException格式转化错误 1.4 java.lang.IllegalStateException: Fragment not attached to Activity 1.5 Arra

    18-10-22
  • 崩溃bug日志总结1

    目录介绍 1.1 java.lang.UnsatisfiedLinkError找不到so库异常 1.2 java.lang.IllegalStateException非法状态异常 1.3 android.content.res.Resources$NotFoundException 1.4 java.lang.IllegalArgumentException参数不匹配异常 1.5 IllegalStateException:C

    18-10-22
  • Android&Java面试题大全—金九银十面试必备

    声明 本文由作者:Man不经心授权转载,转载请联系原文作者原文链接:https://www.jianshu.com/p/375ad14096b3, 类加载过程 Java 中类加载分为 3 个步骤:加载、链接、初始化。 加载。 加载是将字节码数据从不同的数据源读取到JVM内存,并映射为 JVM 认可的

    18-10-22
  • 动画源码解析

    目录介绍 1.Animation和Animator区别 2.Animation运行原理和源码分析 2.1 基本属性介绍 2.2 如何计算动画数据 2.3 什么是动画更新函数 2.4 动画数据如何存储 2.5 Animation的调用 3.Animator运行原理和源码分析 3.1 属性动画的基本属性 3.2 属性动画新的概念

    18-10-21
2678文