首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
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,即匿名内存映射。这是…