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

【简介】

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

点击查看全文 >>

@技术头条 2022-02-01 22:29分享 / 原作者微博:@高爷 / 0个评论
赞过的人: IT技术博客大学习
要不要再学学下面的文章?
前端性能优化心法 (insights.thoughtworks.cn)
文章从流程方面和具体的技术细节上对软件性能优化上遇到的问题做一些总结和分类,以方便在后续类似的场景下可以提供给开发者一个参考。
by @Thoughtworks 2022-11-25 10:54 分享 查看详情
如何基于 Prerender 为 SPA 做 SEO 优化 (quickapp.lovejade.cn)
倾城之链 是基于 Vue2 所构建的单页面应用(SPA),这很不利于 SEO,尤其是之于国内搜索引擎。早在项目之初,采取 SSR 方案对代码侵入性高,也不大方便以 SSG 方案处理;于是乎,便在服务端针对搜索引擎爬虫返回预渲染结果,从而做 SEO 优化;本文就此方案做简单分享。
by @杨琼璞 2022-11-23 23:29 分享 查看详情
Android DeepLink介绍与使用 (cloud.tencent.com)
前段时间公司让调研一下DeepLink,说以后会用到,之前看了很久,并做了个demo,现整理一下,方便以后查阅,如果有幸帮助到其他人就更好了。
by @shengting 2022-09-07 14:30 分享 查看详情
美团搜索粗排优化的探索与实践 (tech.meituan.com)
粗排是工业界搜广推系统的重要模块。美团搜索排序团队在优化粗排效果的探索和实践中,基于业务实际场景,从精排联动和效果性能联合优化两方面优化粗排,提升了粗排的效果。本文介绍了美团搜索粗排的迭代路线、基于知识蒸馏和自动神经网络选择的粗排优化工作,希望为从事相关工作的同学带来一些启发或者帮助。
by @技术头条 2022-09-02 22:59 分享 查看详情
美团搜索粗排优化的探索与实践 (tech.meituan.com)
粗排是工业界搜广推系统的重要模块。美团搜索排序团队在优化粗排效果的探索和实践中,基于业务实际场景,从精排联动和效果性能联合优化两方面优化粗排,提升了粗排的效果。本文介绍了美团搜索粗排的迭代路线、基于知识蒸馏和自动神经网络选择的粗排优化工作,希望为从事相关工作的同学带来一些启发或者帮助。
by @技术头条 2022-09-02 22:59 分享 查看详情
借助 Docker 来搭 Nginx 的积木:快速实现高性能二维码服务 (soulteary.com)
本篇文章,依旧是聊聊如何 “使用 Nginx 和 Docker 来偷懒”。以生成我们常见的二维码为例,聊聊 Nginx 在日常业务中,除了做接入层业务之外的应用。本篇文章中,我们将侧重聊聊更通用的,在容器场景下借助 Docker 的预构建、多阶段构建等能力,来帮助 Nginx 进行“搭积木”的玩法,快速实现某个传统业务。
by @技术头条 2022-08-31 23:21 分享 查看详情
VS Code 是如何优化启动性能的? (fed.taobao.org)
本文主要是对 CovalenceConf 2019: Visual Studio Code – The First Second 这次分享的介绍,CovalenceConf 是一个以 Electron 构建桌面软件为主题的技术会议,这也是 VS Code 团队为数不多的对外分享之一(质量较高),主要分享了 VS Code 是如何优化启动性能的。
by @技术头条 2022-08-19 00:17 分享 查看详情
SPA nginx try_files 深度优化 (xuexb.com)
上周有幸帮朋友解决一个线上用户端缓存不更新的问题。问题的表现在项目某次发版后,用户端访问页面提示 JS 报错。报错表明是 JS 返回的是 HTML 代码。
经过一番查看后,发现是用户端在发版的时候有访问过,而像 app.afds320.js 这些 JS 还不存在。命中了 localtion / { try_files } 规则。再加上 CDN 上有些默认的配置,给该 HTTP status 200 的文件加了 cache-control: max-age=7d 的缓存时间。导致用户端只要不强刷新或清缓存,这个文件就在7天内一直有问题了。
这个问题其实就是缓存配置的不合理导致的问题,我们应该适当的利用浏览器缓存、CDN 缓存来优化我们的项目。
by @技术头条 2022-08-18 23:23 分享 查看详情
Webpack 打包后代码执行时机分析与优化 (www.alloyteam.com)
代码执行时机将决定着是否能够正常执行,当依赖文件没加载完成就开始执行、使用对应模块,那么将会导致执行异常。这在 “存在资源加载失败时,加载重试影响原来文件的执行顺序” 的场景下尤为常见。

webpack 构建除了进行模块依赖管理,实际上,也天然地管理了 entry 与 chunk 多文件的执行时机,但缺少了对 external 文件管理,当 external 文件加载失败或未完成时,执行、使用对应模块同样将导致异常。为此,wait-external-webpack-plugin 应运而生,以 webpack 插件的形式,补充 external 的执行管理。本文将进行简要说明。
by @技术头条 2022-07-24 21:17 分享 查看详情
Android 框架问题分析案例 - 谁杀了桌面? (androidperformance.com)
写这篇文章的契机是因为一个实际遇到的问题 , 这个问题其实不难 , 不过在分析了这个问题然后写日记的时候 , 我突然觉得这个问题分析的过程有必要记录一下 , 分享给大家 . 分析过程中有用到一些工具 , 一些方法 , 也从另外一个聪明的小伙伴梅明那里学到了一些分析技巧和工具的使用技巧 。
by @技术头条 2022-07-24 21:15 分享 查看详情