Android开发——进阶
文章平均质量分 94
Android进阶
小草帽学编程
落魄Android,在线炒饭
展开
-
说说我们每天接触的Java锁吧
背景: 不管是做Java开发、C开发、IOS开发还是Android开发,都会遇到多线程开发的需求场景。那么问题就来了,多线程开发时无法避免的就要考虑线程安全和线程通信的问题。今天我们主要讲讲线程安全问题,Android中可能大家用synchronized关键字用多了、久了就对锁的概念缺乏了认知,所以这里就简单回顾补充一下这方面知识。一、线程并发访问的问题 程序运行时JVM会将我们的内存分成线程私有和线程公有两大块,这个在之前的内存优化篇章里面也有详细的介绍过,这里就不再...原创 2022-03-10 16:19:39 · 3407 阅读 · 0 评论 -
老生常谈的OkHttp
OkHttp工作原理总是记不住?原创 2022-03-06 15:55:09 · 5115 阅读 · 0 评论 -
聊聊你熟悉的HTTP和HTTPS
背景:前面我们已经了解过回顾过TCP/IP相关知识了。但是作为Android开发,很多人实际上正面接触传输层的TCP协议的机会并不是很多。大部分时候我们接触的最多的还是应用层的HTTP和HTTPS协议。所以这篇我们就来聊一聊HTTP和HTTPS。一、HTTP协议HTTP协议又称应用层超文本传输协议。1.1、HTTP URL解析与报文结构1.1.1、URL解析我们常常访问一个网页,发现又一大串如下的字符串。而这一大串字符串就是HTTP网络请求的URL,如...原创 2022-03-04 17:27:16 · 2709 阅读 · 0 评论 -
你真的了解TCP/IP吗
背景:从我们进入IT行业的那一刻起就不停的接触到TCP/IP协议。但是多数人多数时候对TCP/IP协议都知之甚浅,只是浅显的知道TCP是基于链接的可靠传输协议,有三次握手四次挥手,然后就没了。这篇文章就稍微补充一点这方面的知识。一、网络模型网络模型大致可以分:TCP/IP模型和OS模型。如下图可以发现,TCP/IP模型实际上就是将OS模型进行了更笼统的划分。主要分为如下四大层:应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、 网络远程访问协议(T.原创 2022-03-02 13:38:01 · 6737 阅读 · 0 评论 -
AMS进阶——如何启动没有注册的Activity
背景:前面我们通过梳理了Activity启动的整个流程知道:Activity的启动主要经历如下几个阶段:发起Activity启动 与AMS建立通信节点,主要是在Instrumentation类中获取AMS的Binder代理,准备通信。 由应用进程切到系统进程(system_service)的AMS服务,由AMS判断应用进程是否创建,如果没有创建则AMS与Zegote进程通信创建应用进程。 应用进程创建后,启动应用进程,再由应用进程切到AMS服务,AMS进一步做启动Activity的校验(如:A原创 2022-03-01 14:07:54 · 2603 阅读 · 0 评论 -
AMS知识点——Activity的启动流程
Activity启动流程分析原创 2022-02-27 15:54:47 · 2033 阅读 · 0 评论 -
手撸热修复框架(三)——补丁包的自动生成框架
前言手撸热修复框架(一)——热修复原理探究手撸热修复框架(二)——如何替换补丁包手撸热修复框架(三)——如何生成补丁包上一章我们讲了一下如何通过加载补丁包dex的方式来进行热修复的原理,但是这个补丁包要如何获取呢?这一节我们就来讲讲如何来自动生成补丁包。这一章我们会接触两个新的知识点:插桩技术和gradle插件开发。一、插桩技术上一节我们在讲解热修复过程中会提到了字节码插桩的概念,那么要如何实现字节码插桩呢?(1)字节码插桩能干吗?我们都知道,我们写的.java文件会被编译成原创 2020-11-19 17:02:05 · 724 阅读 · 0 评论 -
手撸热修复框架(二)——加载补丁包修复Bug
前言手撸热修复框架(一)手撸热修复框架(二)手撸热修复框架(三)前面我们简单了解了几个热门热修复框架的实现和原理,以及优缺点。从自身的能力和目前的知识结构出发,我们选择模仿QZone框架并参考tinker的部分实现来一步步实现自己的热修复框架。一、热修复分析既然我们选择模仿QZone,那么也就是选择通过ClassLoader的类加载原理来实现热修复。所以我们必须要弄清楚ClassLoader是如何加载一个类的。这一部分内容在前面Android类加载原理章节我们已经讲过了,还不清楚的建原创 2020-11-19 17:01:07 · 1503 阅读 · 0 评论 -
手撸热修复框架(一)——热门框架对比与原理
一、背景热修复技术其实已经出来很久了,目前市面上只要是能上得了台面的App基本都加入这项强大技术来实现bug修复功能。但是我相信依旧有很多做Android开发的朋友和我一样都还是停留在知道有这项技术,但是不知道怎么用这项技术,更加不用说它的实现原理了。我觉得出现这样一个现象的原因有两个,一个是现实中没有项目去驱动我们做这件事,二个就是很多人都讨厌甚至惧怕接触新的技术,毕竟头发比较宝贵嘛。但是这也就是我们为什么薪水同样没有别人高的原因,学无止境!今天我们就一点点的记录下我们手撸热修复框架的学习过程。其原创 2020-11-19 16:59:44 · 2612 阅读 · 0 评论