Android 性能优化的术、道、器 (androidperformance.com)

【简介】

谷歌搜索 「Android 优化工具」,你会找到很多与此相关的内容。他们的问题在于要么是内容高度重复、要么是直接讲使用方法,很少会给你介绍整体性的架构,一不小心就会让人会种「一个工具搞定一切」的错误认知。以笔者团队的多年经验来看,在性能分析领域这种银弹级别的工具是不存在的。工具在发展,老问题会以新的方式变样出现,不掌握核心逻辑的话始终会让你浮于技术的表面。
本文首先系统性的梳理性能分析中的可观测性技术,它涵盖数据类型、抓取方法以及分析方法等三部分内容,之后是介绍谷歌提供的「三大件」分析工具。目的是想让你了解不变的理论性的知识,以及与之对应的在安卓环境中可用的工具,这些可以让你少走一些弯路,直接复用前辈们的经验。
需要特别说明的是,对于性能优化肯定不止有这三个工具可用,但这个三个工具是我们平时用到的「第一手工具」。进行进一步分析之前,你都需要依赖这三个工具进行瓶颈定位,之后才应不同领域特性选择对应的工具进行下钻分析。

点击查看原文 >>

@技术头条 2022-02-01 22:29 / 原作者微博:@高爷 / 0个评论
赞过的人: @IT技术博客大学习
要不要再学学下面的文章?
Go中秘而不宣的数据结构 CacheLinePad:精细化优化 (colobu.com)
这篇文章深入解析了 Go 语言中的 CacheLine 数据结构,详细探讨了其在多核环境下的内存对齐、伪共享问题以及性能优化方法。通过具体的代码示例和实验分析,文章展示了如何利用 CacheLine 提升并发程序的性能。内容专业且实用,对开发高性能 Go 应用的工程师有很高的参考价值,值得推荐阅读和分享。
by @技术头条 2025-01-03 00:03 查看详情
Go中秘而不宣的数据结构 BitVec, 资源优化方法之位向量 (colobu.com)
如何深入理解 Go 的内部数据结构?文章以 BitVec 为例,详细解析了其设计原理、实现方式以及在不同场景中的应用,还探讨了相关的性能优化策略和工程实践。这是一篇高质量的技术解读,为开发者学习 Go 的底层实现提供了宝贵的参考!
by @技术头条 2025-01-02 23:59 查看详情
图解Blink-Tree:B+Tree的一种并发优化结构和算法 (www.codedump.info)
本文介绍了 Blink-Tree,这是一种 B+Tree 的并发优化结构。通过引入 high key 和 link 指针,解决了并发访问时的性能问题,特别适用于高并发环境的存储引擎优化。如果你对数据库存储引擎感兴趣,这篇文章不容错过!
by @技术头条 2024-09-09 23:46 查看详情
四种字符串和bytes互相转换方式的性能比较 (colobu.com)
在 Go 中,字符串和字节数组的互转性能是很多开发者关注的问题。本文详细对比了四种转换方式,包括新型 unsafe 方法和 Kubernetes 实现,并通过 Benchmark 测试揭示了它们的性能差异。想要优化你的 Go 项目性能?不妨看看这篇详细的实测分析!
by @技术头条 2024-09-08 23:34 查看详情
Android|使用阿里云推流 SDK 实现双路推流不同画面 (mazhuang.org)
想知道如何在 Android 中通过阿里云 SDK 实现双路推流不同画面?本文介绍了一个巧妙的解决方案,虽然阿里云 SDK 不支持原生多路推流,但通过跨进程调用,实现了同时推送不同区域的画面,适用于直播和录播场景的分离展示。开发者不容错过的实战分享,赶快阅读!
by @技术头条 2024-09-08 23:26 查看详情
Android|WebView 禁止长按,限制非白名单域名的跳转层级 (mazhuang.org)
本文探讨了如何在Android应用中通过WebView限制网页内容访问。作者介绍了通过WebView的JavaScript接口和URL拦截机制来控制用户访问的具体方法,包括如何过滤不需要的URL请求和增强内容安全性。这些技术可以帮助开发者有效地管理WebView中的内容,防止加载不安全的页面或执行恶意代码。
by @技术头条 2024-08-06 08:16 查看详情
使用 OpenRewrite 优化代码 (www.diguage.com)
本文介绍了如何使用OpenRewrite工具优化Java代码。OpenRewrite可以通过自动化脚本进行代码重构,减少技术债务,提升代码质量。作者详细讲解了如何配置Maven插件,并使用多种重构“处方”,例如排序import语句、升级到Java 21、替换Base64实现,以及迁移到Spring Boot 3.2和JUnit 5。通过这些工具和方法,开发者可以简化代码维护和升级流程。
by @技术头条 2024-08-06 08:04 查看详情
“测试 Rust 的 I/O 性能” (colobu.com)
这篇文章探讨了在Linux上使用Rust进行文件I/O操作的性能测试。作者通过多种方法对读取大文件进行基准测试,包括使用标准BufReader、Direct I/O、内存映射(Mmap)以及io_uring等技术。结果显示,使用AVX-512指令集的内存映射实现是最快的方法,其读取速度超过8.4 GB/s。文章强调不同技术的性能差异,并提供代码示例供开发者参考。
by @技术头条 2024-08-06 07:51 查看详情
大批量动画模型的优化 (blog.codingnow.com)
最近和公司一个开发团队探讨了一下他们正在开发的游戏中遇到的性能问题,看看应该如何优化。这个游戏的战斗场景想模仿亿万僵尸(They are billions)的场景。在亿万僵尸中,场景中描绘了上万的僵尸潮,但我们这个游戏,超过 500 个僵尸就遇到了性能问题。固然,手机的硬件性能比不上 PC ,但 500 这个数量级还是略低于预期。

对于游戏中大量类似的动画物体,肯定有方法可以优化。
by @技术头条 2024-05-05 23:26 查看详情
大众点评内容搜索算法优化的探索与实践 (tech.meituan.com)
本文整理自美团技术沙龙第80期《美团内容智能分发的算法实践》,分享内容主要包括三部分。第一部分介绍了大众点评内容搜索的场景特点以及面临的挑战;第二部分介绍了为应对这些困难和挑战,技术团队在链路各环节上做的实践优化,包括内容消费和搜索满意度的优化等等;第三部分是总结和对未来的展望。
by @技术头条 2024-03-31 21:14 查看详情