首页
沸点
课程
APP
AI用量
作品广场
专家标注
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
性能优化
订阅
chenchaotom
更多收藏集
微信扫码分享
微信
新浪微博
QQ
15篇文章 · 0订阅
APP稳定性问题汇总与KOOM的预研
1. APP稳定性问题汇总 View的绘制帧数保持60fps是最佳,这要求每帧的绘制时间不超过16ms(1000/60),如果安卓不能在16ms内完成界面的渲染,那么就会出现卡顿现象。而UI的绘制在主线程中进行的,因此UI卡顿本质上就是主线程卡顿。 布局Layout过于复杂,无…
App极限瘦身 | 动态下发so
比如 某游戏 项目就同时支持 arm32/arm64/x86/x86-V7a 四种 ,so 体积成倍地上涨。因此,能不能将非主要的 abi 相关的 so 文件动态化,也成为了国际化出海项目瘦身优化不得不优先考虑的问题。希望能通过包体优化,降低流量成本,避免由于包体过大导致的用户…
西瓜视频稳定性治理体系建设一:Tailor 原理及实践
Tailor 是西瓜视频 Android 团队开发的一款内存快照裁剪压缩工具,广泛用于字节跳动旗下各大 App 的 OOM 治理及异常排查,收益显著,在西瓜视频上更是取得 OOM 降低95%以上的好成绩。Tailor 工具现已开源,本文将通过原理、方案和实践来剖析 Tailor…
浅谈 Android 内存监控(中)
在上篇 浅谈 Android 内存监控(上) 中,我们聊了 LeakCanary,微信的 Matirx 和美团的 Probe,它们各自有不同的应用场景,例如,在开发测试环境,我们会偏向用 LeakCanary,因为它能提供最完善的内存泄露机制和最详细的日志,非常方便定位问题,但…
QQ音乐Android编译提速之路
1. 序言 工程编译,是Android应用开发工作中的重要一环。而随着工程代码量膨胀,编译耗时也越来越长,拖慢了开发效率。 这个问题在中大型团队中并不少见。以QQ音乐为例,Android工程代码量达到120万行以上,每修改一行代码,都要等待4分钟以上才能在手机上看到改动效果。 …
浅谈 Android 内存监控(上)
性能优化是一个永不过时的话题,对于移动端来说也是如此。即使现在的终端设备更新速度日新月异,但用户总是希望你的应用能越快越好,秒启动,流畅无违和的操作,及时的操作响应等等。 对于一般的应用来说,UI 渲染优化 和 内存优化 是两个必须要做的事情,因为这两个方面是日常开发比较常见的…
今日头条 Android '秒' 级编译速度优化
Android 项目一般使用 gradle 作为构建打包工具,而其执行速度慢也一直为人所诟病,对于今日头条 Android 项目这种千万行级别的大型工程来说,全量编译一次的时间可能高达六七分钟,在某些需要快速验证功能的场景,改动一行代码的增量编译甚至也需要等两三分钟,这般龟速严…
面试官:今日头条启动很快,你觉得可能是做了哪些优化?
网上关于启动优化的文章多不胜数,内容千篇一律,大都是列举一些耗时操作,采用异步加载、懒加载等。 而在面试过程中,关于启动优化的问题,如果只是很表面地回答耗时操作应该放在子线程,显然太过于普通,无法跟竞争者拉开差距。如何让面试官知道你的“内功深厚”,那肯定是要往原理层面去回答。 …
Android OOM微锦囊
线程数超限,即proc/pid/status中记录的线程数(threads 项)突破 /proc/sys/kernel/threads-max 中规定的最大线程数。 调用 mmap 分配栈内存。这里 mmap flag 中指定了 MAP_ANONYMOUS,即匿名内存映射。这是…