排序
用错了Flow?每一次订阅都对应一次数据库的查询操作?Flow/StateFlow/SharedFlow 正确使用姿势
先来点废话: 目前公司项目虽说整体架构是MVVM,但是业务复杂导致 ViewModel 过于庞大,就学习了下android 官方最新推的架构,注意到了官方现在主推的学习appNow in Android,看到了里面关于 Sh...
Android-使用 APK 分析器分析 build
使用 APK 分析器分析 build Android Studio 包含一个 APK 分析器,可让您在构建流程完成后立即了解 APK 或 Android App Bundle 文件的组成。使用 APK 分析器可以减少调试应用的 DEX 文件和资源...
如何为Next.js编写优化的Dockerfiles
当将现代应用程序部署到生产环境中,使用容器化技术已成为一种常见的做法。Docker,作为一种流行的容器化平台,为开发者提供了一种便捷的方式来封装应用程序及其依赖,从而实现一致性和可移植性...
懒加载优化方案——IntersectionObserver
在加载图片列表时候,如果不做任何处理,浏览器会创建所有img标签并去加载每一张图片,当图片过大,或者过多的时候,页面将超级消耗资源,这时候,懒加载就起到了一个很重要的作用(如果有运维支...
性能优化|记一次线上OOM问题处理
概述 最近线上监控发现 OOM 涨幅较大,因此去尝试定位和修复这个问题,在修复了一些内存泄漏和大对象占用问题后, OOM 依旧未达到正常标准,在这些新上报的 hprof 文件中,发现几乎所有 case 中...
USE方法:性能分析第一步
引 当你登陆到一台可能有性能问题的服务器上,你会/应该做什么?又该如何去进行初步的性能分析? 本文要介绍的USE方法(USE Method)则是一种分析性能问题的方法,通过执行一系列的检查项命令,...
大厂面试必问:如何设计一个扛高并发的系统?
前言 大家好,我是路由器没有路。 三年前,我曾前往字节跳动参加面试。在三面面试环节中,我遇到了一道场景设计题目:如何设计一个高并发系统? 当时我的回答比较简略,但最近我朋友在准备面试...
解锁新姿势:Webpack Tree Shaking带来的惊人性能提升
前言 webpack 我们每天都在用,但是Tree Shaking知道多少呢,今天就来唠一唠他都帮我们干了些什么? 名词解释: Tree Shaking 是一种用于精确打包 JavaScript 应用程序的优化技术,它通过静态分...
前端性能优化的利器 ——— 浅谈JavaScript中的防抖和节流
防抖和节流函数是工作中两种常用的前端性能优化函数,今天我就来总结一下什么是防抖和节流,并详细说明一下如何在工作中应用防抖和节流函数 什么是防抖和节流? 在 JavaScript 中,防抖(debounc...
利用requestAnimationFrame优化大数据列表渲染
当我们拿到一个列表数据进行渲染时,如果数据量比较大,例如下面代码中模拟渲染一万条数据,可以看到很明显的卡顿,隔了几秒才看到列表展示。 // 模拟返回10000数据 const mockData = () => ...
SQLite优化之without rowid
介绍了rowid的应用和查询效率,讨论了rowid表和无rowid表的优缺点,并对两者的结构和效率进行了对比和总结。 rowid是什么 在SQLite的数据库中,大多数的表都被称为传统表(也叫rowid表...
Off-CPU火焰图:了解性能冰山的必备工具
引 On-CPU性能问题可以借助On-CPU火焰图解决,但是无法了解进程和线程不在CPU上运行所花费的时间。如果有很多的时间花在同步请求上,也会很容易影响性能表现。 下图是一种Off-CPU时间的情况: ...
分布式服务高可用实现:复制 | 京东物流技术团队
1. 为什么需要复制 我们可以考虑如下问题: 当数据量、读取或写入负载已经超过了当前服务器的处理能力,如何实现负载均衡? 希望在单台服务器出现故障时仍能继续工作,这该如何实现? 当服务的...
使用 Pruning 技术对模型大小进行压缩
常规方式训练基准模型 这段代码使用 TensorFlow 构建了一个简单的 CNN 模型,并在 MNIST 数据集上进行训练和评估,具体如下: 加载 MNIST 数据集:使用 Keras 的 mnist.load_data() 函数加载 MN...
?优化GIF的内存加载
一、内存OOM问题 使用 UIImage.animatedImage(with:duration:) 方法:UIImage 类提供了一个便利的方法来加载并处理 GIF 图像,该方法可以将 GIF 图像转换为 UIImage 的动画表示。这种方法可以有...
百度APP iOS端包体积50M优化实践(五) HEIC图片和无用类优化实践
一、前言 之前的文章介绍了图片优化和代码优化的几种方式,本篇文章重点介绍HEIC图片和无用类检测的优化实践。HEIC是High Efficiency Image Format(高效图像格式)的缩写,是一种新的图像文件...
浏览器之性能指标-TTI
凡所执念,皆成束缚 --《佛经》 大家好,我是柒八九。 前言 今天我们来聊聊另外一个比较重要的性能指标TTI。 如果想了解该系列文章(浏览器底层原理&优化方案),可以参考我们已经发布的文章...
【性能优化】使用Perfetto定位应用启动性能的瓶颈
Android应用启动优化相关的文章已经有很多人都写过了,但是主要都是聚焦在,为了启动性能都做了哪些改动上,少见有文章会说应该如何分析、识别应用的启动性能。 本篇文章将会结合我个人对Perfet...
APM – iOS 基础功能 Hook – Method Swizzle
简介 AOP 跟面向对象编程(OOP)一样,面向切面编程(AOP)是一种编程范例。这种编程思想旨在通过横切面,提高项目的模块化程度。通过对现有代码进行切入,在切入点单独指定和实现代码,通常是...