自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 5G调研分析

现状 根据《中国互联网发展报告(2021)》显示,2020年,我国互联网行业实现快速发展,网民规模稳定增长。截至2020年底,我国5G网络用户数超过1.6亿,约占全球5G总用户数的89%。 5G商用一年多来,我国已累计建设开通5G基站超70万个。特别是今年以来,在基础网络不断完善和疫情倒逼下,5G加快与各行业融合,在线办公、远程教育、智能制造等领域突飞猛进,很多行业数字升级的步伐正在加快。但我国5G网络尚未实现全国覆盖,支撑行业应用的技术成熟度还有待提升,配套支撑产业仍处于培育初期。...

2021-08-22 21:30:09 215

原创 基于AOP思想实现App登录拦截

前言在项目中有很多功能都是需要在用户登录之后才能使用,所以我们在开发过程中就需要在很多地方判断用户的登录状态,在没有登录的状态下要先跳转到登录页面,用户完成登录之后才能使用后续功能。如果我们在每个需要用户登录的地方都写代码去判断,不仅耗时耗力,而且代码看起来也不优雅。基于AOP思想,我们可以以一种更优雅的方式实现登录拦截功能。AOP思想AOP(面向切面编程)是一种设计思想,是对oop(面向对象编程)一种补充;AOP采取横向收取机制,取代了传统纵向继承体系重复性代码,把某一类问题集中在一个地方进行

2020-08-09 15:37:15 1053 1

原创 由findViewById带来的潜在性能问题

前言 最近看到了一段类似于下面的代码: //伪代码 ((Button)viewGroup.findViewById(R.id.btn)).setVisibility(View.VISIBLE); ((Button)viewGroup.findViewById(R.id.btn)).setText(""); ((Button)viewGroup.findViewById(R.id.btn)).setO.

2020-07-26 16:14:21 798

原创 Activity插件化原理

概述Activity的插件化一直以来都是插件化技术的重点。Activity的插件化有很多技术方案,但是主流实现还是使用Hook技术。所有本文主要讲解通过Hook技术的实现Activity插件化的方案。在了解Activity插件化之前首先要清楚Activity的启动流程,不清楚的可以看我之前写的文章。 基于Android 8.0源码分析Activity启动流程 Activity插件化方...

2020-03-06 12:12:17 255

原创 Android系统启动流程

本文将会简单的介绍一下Android系统的启动过程,不会深入探究源码细节,旨在了解一个大概的流程。1.启动电源机以及系统启动当电源按下的时候,固化在ROM的引导芯片代码就会执行。开始加载引导程序BootLoader到RAM中并执行。2.引导程序BootLoader引导程序BootLoader是在Android系统开始运行前的一个小程序,它的主要作用是把系统OS拉起来并允许。3...

2020-03-03 10:27:16 171

原创 Android动态换肤原理解析

概述换肤是指在APP运行期间改变界面的字体、颜色、图片等。换肤的出现是为了满足日常产品和运营需求,满足用户个性化界面定制,提高用户体验等。换肤方案1.静态换肤:将图片、颜色、字体等皮肤资源打包进apk,以实现不同的主题样式等换肤需求。2.动态换肤:由服务器下发皮肤包资源,APP在运行时读取服务器下发的皮肤包完成换肤需求。动态换肤优势1.apk大小:动态换肤不需要将皮肤资源打...

2020-02-18 15:30:25 698

原创 理解Android ClassLoader

一.概述在Android中,ClassLoader可以将dex文件加载进虚拟机中。通过ClassLoader,我们可以在程序运行时将外部的dex文件动态加载进内存中。在插件化框架中都是利用ClassLoader将插件中的类加载进内存中,进而可以在宿主中访问插件中的代码。所以理解ClassLoader有助于我们理解插件化的原理。二.ClassLoader的类型1.BootClassLoa...

2020-02-16 15:58:38 200

原创 基于Android 8.0源码分析Activity启动流程

Activity启动流程细分下来有两种,一种是用户点击桌面由Launcher启动App,另外一种是App内部调用startActivity打开新的Activity。两种启动方式基本相同,本文重点讲第二种方式。整个Activity的启动流程可以分为两部分,App进程-->AMS进程和AMS进程-->App进程。App进程-->AMS进程先来看看startActivity...

2019-09-09 18:39:39 1239

原创 Handler消息机制超强源码解析

Handler消息机制在Android中占据重要的地位,主要使用场景就是线程间通讯。当我们在子线程执行完耗时操作后可以使用Handler通知UI线程去更新UI。对于一个有追求的开发者来说,我们不仅要会使用Handler,更要去深入探究其中的原理。本篇文章就来详细分析Handler的源码并从源码的角度来分析使用过程中经常出现的问题。Handler消息机制的核心在Handler机制中有三个重要...

2019-06-04 17:40:23 149

原创 Android View绘制流程

提到View的绘制流程,首先想到的就是measure,layout,draw三个阶段。但是系统是如何发起绘制View的请求的?整体流程分析当启动一个Activity的时候,系统首先会调用onCreate()方法,在onCreate()方法中会调用setContentView()来加载我们自己的布局。那么setContentView()都做了什么事情?setContentV...

2019-05-31 12:32:21 221

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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