博客导读 对博客内的文章提供快速入口,按照分类进行查看。 其中主要涉及了以下几大模块 Android学习路线Android高级进阶 Android需要的必备知识 计算机网络相关HTTP的原理和工作机制 HTTP的原理和工作机制 TCP/IP协议相关 TCP/IP协议相关 JVM相关JVM相关合集整理 JVM相关合集整理 JVM内存区域 JVM相关及其拓展(一)-- JVM内存区域 类 2019-03-14 #目录
Activity,Window,View的关联与理解 Activity,Window,View相关 1. 什么是Activity,Window,View以及职能简介 Activity:不负责视图控制,只是控制生命周期和处理事件,真正控制视图的是Window,一个Activity包含一个Window,Window真正代表一个窗口。Activity是一个控制器,控制视图的添加与显示以及通过回调方法来进行Window与View的交互。 Window:Wi 2018-04-01 #Android
Activity启动过程 下列源码分析是基于 Android 8.0源码 Activity的启动过程分为两种: 根Activity的启动过程 - 指代根Actiivty的启动过程也可以认为是应用程序的启动过程 普通Activity的启动过程 - 除启动应用程序启动的第一个Activity之外Activity的启动过程 根Activity启动过程 点击桌面的应用程序图标就是启动根Activity的入口, 2019-01-02 #Android
AOP学习笔记-APT APT全称Annotation Processing Tool-注解处理器,用于在代码编译期间解析注解并生成新的Java文件,减少手动的代码输入。 主要通过生成注解类所在类的代理类,在运行期直接调用代理类中的方法实现功能。 注解处理方案-反射注解处理方案-APT 2019-04-17 #AOP
SparseArray简析 HashMap在Android开发中是一种常用的数据结构类型,但是占用内存方面相对会比较大,而且复杂的机制导致运行效率也不高。所以Android系统提供了SparseArray以及ArrayMap来对其进行替代。这也是Android性能优化的一种手段。 SparseArray SparseArray可以对key为Integer类型的HashMap进行替代。还有 LongSparseArray 2019-01-28 #源码解析
Android-SharedPreferences简析 SharedPreferences是系统提供的一种简易数据持久化的手段,适合单进程、小批量的数据存储与访问。以键值对的形式存储在xml文件中。文件存储路径为data/data/package_name/shared_prefs/目录。 源码解析 获取SharedPerferences对象 获取方法从getSharedPreferences(name,mode)开始,此时就需要去加载对应name 2020-11-18 #Android
Android - Drawable相关 Drawable简介 Drawable是一种 可以在Canvas上进行绘制的对象,即可绘制物。与View不同,Drawable没有事件和交互的方法。 在实际开发中,Drawable通常被用作View的背景,一般通过XML进行定义,也支持通过代码去实现(例如动画样式的Drawable)。 Drawable是一个抽象类,是所有Drawable的基类。例如常用的ShapeDrawable、Bitmap 2019-01-10 #Android
Android Study Plan II - Service Android学习计划话题:清晰地理解Service。1、Service的start和bind状态有什么区别?2、同一个Service,先startService,然后再bindService,如何把它停止掉?3、你有注意到Service的onStartCommand方法的返回值吗?不同返回值有什么区别?4、Service的生命周期方法onCreate、onStart、onBind等运行在哪个线程 2018-03-18 #Android
Android Study Plan IX - ClassLoaderß Android学习计划话题:Android中的ClassLoader1、Android中有哪几种ClassLoader?它们的作用和区别是什么?2、简述ClassLoader的双亲委托模型3、简述双亲委托模型在热修复领域的应用 答案1.Android中有哪几种ClassLoader?它们的作用和区别是什么? 在Android程序中,.dex文件就是一群.class文件。 BootClass 2018-03-18 #Android
Android-Study-Plan-XI Android学习计划话题:Okhttp和Retrofit 1、介绍这两个框架的作用和联系PS:这个问题几乎Android面试必问 2018-03-19 #Android
Android Study Plan V Android学习计划话题:关于View的知识 1、View的getWidth()和getMeasuredWidth()有什么区别吗?2、如何在onCreate中拿到View的宽度和高度? 答案1. View的getWidth()和getMeasuredWidth()有什么区别吗? getWidth()通过setFrame方法来决定四个顶点位置,初始化mLeft,mTop,mRight,mBott 2018-03-18 #Android
Android-Study-Plan-XIX Android学习计划AndroidStudio点击Build按钮后,AndroidStudio就会编译项目并安装到手机中,那么详细分析整个过程的细节。 2018-06-12 #Android