性能优化之布局优化

使用手机开发者选项里show view overdraw 功能监测app页面里布局是否过度绘制,按照颜色可知是否绘制了多次,结合layout inspector 分析布局层级进行优化。

插件化原理解析

说起插件化,先谈谈为什么使用插件化技术呢,因为当我们的app业务很多的话,里面可能会融合其他的app,拿美团举例吧,美团app里有美团买菜,酒店民宿,骑车等等,那这个主app里单拿出一个美团买菜,可能就有自己的app,这个app里又有自己的业务,使用插件化技术可以动态加载apk,减小安装包的大小,而

JavaScript中的“===”和“==”

在 TypeScript 和 JavaScript 中,=== 和 == 都是比较运算符,用于比较两个值的相等性。它们之间的主要区别如下: ===(严格相等): 又称为 "三等号" 或 "恒等于",它要求进行比较的两个值不仅在值上相等,而且在类型上也必须完全相同。只有当值和类型都匹配时,比较结果才为

Activity的启动流程解析

Activity启动 Activity启动分为两种:一种是通过startActivity启动,一种是通过点击手机桌面图标启动。那这两种启动方式有什么区别呢,第一种是普通Activity的启动,第二种启动方式是冷启动。冷启动和普通启动方式又有什么区别呢,冷启动就是app的首次启动,需要创建app进程,

CSS 像素尺寸分类

在CSS中,有多种尺寸单位可供选择。以下是对一些常见的单位进行详细解释: px(像素): 像素是最基本的尺寸单位,它表示屏幕上的一个物理像素点。例如,width: 200px;将元素的宽度设置为200个像素。 rem(根元素字体大小的倍数): rem相对于根元素(通常是标签)的字体大小。如果根元素的

前端 

静态同步锁和成员方法同步锁有什么区别

静态同步锁和成员方法里的同步锁的锁有什么区别 静态同步锁(Static Synchronized Lock)和成员方法里的同步锁(Synchronized Lock in Instance Method)之间的主要区别在于锁的粒度和作用范围。 锁的粒度: 静态同步锁:使用在静态方法上,锁的粒度是类级

Java 

ANR 触发原理以及信息收集过程

ANR触发原理 🔗 转载自:https://www.cnblogs.com/huansky/p/14954020.html 一、概述 作为 Android 开发者,相信大家都遇到过 ANR。那么为什么会出现 ANR 呢,ANR 之后系统都做了啥。文章将对这个问题详细解说。 ANR(Applicat

Java中的动态代理

什么是动态代理 动态代理是Java中一种面向对象编程的技术,允许在运行时创建和使用代理对象,以实现对目标对象的间接访问和控制。它的原理是通过在运行时生成代理类来拦截对目标类的方法调用,并在适当的时候添加额外的逻辑。 动态代理实现 在Java中,动态代理主要依赖两个关键接口:InvocationHan

Java 

Git命令行使用记录

一、常规操作指令 1. clone 2. branch 3. checkout 4. switch 5. pull 6. push 7. merge 更多详细文档请参见 Git 详细文档大全 二、遇到问题解决方式 提交已push的修改 Step1. 执行git log

Java垃圾清除算法

Java中的垃圾清除算法用于自动回收不再被引用的对象所占用的内存空间。以下是几种常见的垃圾清除算法: 标记-清除(Mark and Sweep): 这是一种基本的垃圾清除算法。它通过从根对象开始进行可达性分析,标记所有可达对象,然后清除未被标记的对象。该算法存在碎片问题,可能会导致内存空间的利用率下

Java