1
xiaosheng 17 小时 1 分钟前
用户:诶?我这破手机刷抖音竟然不卡,真香,这 app 做的真不错。
|
2
Hikareteku 16 小时 54 分钟前
大部分装了抖音的人也看不懂这个
|
3
YanSeven 16 小时 54 分钟前 我到不是很理解楼主的问题...,用户为什么要卸载。抖音做老机型优化不就是为了尽可能让所有人都能流畅使用它的产品,牢牢抓住大部分的时间和注意力么,这个思路到也没什么问题吧。
不过,都把优化做到 Android 5-9 老机型上了,要么说明它们内部有数据说 Android 5-9 老机型在市场上仍有相当一部分占比,要么就是该团队可能没啥事儿干了。 |
4
nullico 16 小时 54 分钟前 很难理解么?从技术角度来看,对老旧机型深入底层优化(魔改)不是一件很 cool 的事情么?既然是技术觉得很 cool 的事情,把这个很 cool 的事情分享给同好不是一件很值得吹牛逼也好,炫技也罢的事情么?
|
5
catazshadow 16 小时 43 分钟前 via Android
把 clone 都给 hook 了,不敢用
|
6
yulon 16 小时 41 分钟前
软件兼容系统才是正常思维
|
7
bkmi 16 小时 36 分钟前 via Android
这不就是大厂应该做的吗
|
8
gxt92 16 小时 34 分钟前
用户看见了岂不是全都卸载了。
———— 能看到这篇文章的不是普通用户,能读懂技术细节的更不是。用户只知道刷视频不卡了。 |
9
MuyuQ 16 小时 25 分钟前 用户不管你这那啥的,只要不卡就行。
至于出现魔改兼容性问题,有手机厂兜底,不用操心。一般手机厂都有专门的自动化稳定性测试,抖音这种 top10 的更是 7*24 小时在跑,出了问题会第一时间处理沟通。 老安卓机型的保有量是很大的,农村市场和三四线城市里面很多都是老版本安卓,而农村老人的一大乐趣就是刷抖音。 |
10
RichardLuo0 OP @YanSeven 不是 等下 难道有什么手机看个视频会卡吗???我记得以前的非智能 java 机 都可以在线看视频啊,文章中提到“将 heap 从 256MB 扩至 740-980MB”,还要“突破 500 线程限制”,光串流个视频需要那么大吗?
我的意思是正常 app 难道不应该越做越小吗?最好用户完全忘记了他存在。就像以前的游戏一样,几百 kb 能塞进整个世界。 而在帖文中,似乎该团队试图突破系统限制,有点颠三倒四。 |
11
fs418082760 16 小时 8 分钟前
那我问你:X 为啥出了一个官方 X lite 应用?
|
12
Tink PRO 我不理解楼主说的,普通用户要卸载是怎么得出的呢?
这不是很正常的老机型优化研究吗 |
13
x86 16 小时 5 分钟前 PDD:轮新老设备优化都是弟弟
|
14
reter 15 小时 49 分钟前
个人更怀疑这样魔改之后,碰上那些魔改系统真的不会出问题吗?还是说抖音的技术力强到可以兼容其他系统?
搞个功能精简版或者默认关闭乱七八糟的功能,才是正确的路径。 |
15
Chicagoake 15 小时 47 分钟前
能阅读并理解这段文字的内容的人,大概率不是这项技术的受益者。老手机如果只“播放视频”那基本没有卡的,但是抖音客户端有大量性能消耗的地方呀,提升老旧机型的体验很必要。
|
16
EchoWhale 15 小时 40 分钟前 via iPhone 为什么楼主的思路跟正常人不一样?
|
17
RichardLuo0 OP @Chicagoake "抖音客户端有大量性能消耗的地方" 举个例子?我没用过抖音,按我理解他就是类似 yt 的?那不就放视频就是最大的消耗吗?
|
18
kneo 15 小时 28 分钟前 via Android
想啥呢,卸载抖音他玩啥?玩你用 AI 开发的 APP 吗?
|
20
zhangchongjie 15 小时 19 分钟前 via Android
这才是正解吧,厂商习惯了用硬件叠代弥补代码性能,而在 2026 ,摩尔定律快到头,内存猛涨的情况下,优化代码才是负责的,反例是微信这种
|
21
JWilling 15 小时 15 分钟前
@RichardLuo0 #10 "不是 等下 难道有什么手机看个视频会卡吗???",有很多人用的都是百元机或者家人退休的手机,这应该是热知识吧。。
|
22
lloyds 15 小时 12 分钟前
@RichardLuo0 #10 额…… 我记得我在 2020/2021 年用 iPad mini 2 看 B 站经常会卡住无响应 😅
|
23
hsiafan 15 小时 8 分钟前
感觉是老版本 Android 的问题,有资源为什么不给 App 用,留着干啥
|
24
Yanickkk 15 小时 8 分钟前
抖音的思路挺正常的吧,尽量多塞点功能到超级 App ,现在还有人会觉得商业 APP 应该越小越好的话,可能才有点反直觉
|
25
unusualcat 15 小时 4 分钟前
这么说把,Android 5-9 老机型的用户根本看不到也看不懂那个帖文,即便是有人掰开揉碎了讲给他们听,他们也没有这个兴趣听,更不会为此在意。
反倒是 LZ 钻到技术牛角尖里,以为别人都是这种技术思维,有点贻笑大方了。 |
26
hiccup00 15 小时 3 分钟前 via Android
所以现在有 32 位安卓能用的客户端么?我真有一台安卓 8 的手机😂
|
27
yoyoyoyolol 14 小时 59 分钟前 via iPhone
看直播时用近几年的新手机都会发烫,用户互动、礼物动效之类的都消耗性能。为了优化老旧手机的用户体验,专门从底层优化老旧设备。
|
28
rekulas 14 小时 33 分钟前
正常技术从业者只会觉得他们做的非常棒
相信 up 主应该不是做技术的所以无法理解 如果是做技术的估计也是不喜欢技术的 |
29
msaionyc 14 小时 26 分钟前 搞半天你没用过抖音?起码用一下再来评价吧
|
30
unusualcat 14 小时 22 分钟前 via Android
@rekulas 郭德纲:众所周知,我在相声界人缘不好,为什么呢?只有同行才是赤裸裸的仇恨。修自行车的会恨卖衣服的吗?不会。
|
31
unusualcat 14 小时 17 分钟前 via Android
@rekulas OP:不行!虽然优化了使用体验,但是实现思路不正义!我不接受!我问问别人,我相信别人都不能接受! 结果:大家纷纷表示很懵逼,不理解为啥 OP 因此一蹦三丈高
|
32
hellskof 14 小时 14 分钟前
>搞了大半年,发现这些老机器都来自黑产灰产的手机农场
|
33
RichardLuo0 OP @zhangchongjie 他这不是优化代码啊 他这是在抢占别的 app 的资源啊?如果真的有人的手机就运行他这一个 app ,那他自己去刷个这样子的 rom 不就行了吗
|
34
RichardLuo0 OP @msaionyc 但是他跟 yt 没有特别大的区别吧
|
35
icyalala 14 小时 3 分钟前 这就是性能优化的文章啊,还考虑为低端机做兼容,这从技术和产品角度来看都是很好的事情
OP 的思路是什么?莫名其妙啊 |
36
zhangchongjie 13 小时 55 分钟前 via Android
@RichardLuo0 老机优化没有成本是不客观的,如果非说有问题,只能说没有加入用户可选项,有一刀切的问题,但我作为用户,希望我点开的应用不卡,gc 挤兑其他应用,至少保证了当前应用的流畅。微信不仅运行内存占用,储存高占用,在做为国内 top0 的 im 软件,还高傲的不接入任何国内推送
|
37
fgwmlhdkkkw 13 小时 48 分钟前
相当于做了个模拟器吗?
|
38
RichardLuo0 OP @icyalala 我就这样问你吧,newpipe 是 YouTube 的一个开源客户端,他肯定没有做任何这样的骚操作吧?也肯定没有系统给他开绿灯吧?那有谁家手机用这个客户端感觉卡的吗???
那抖音到底是在优化个什么??? |
39
RobinHuuu 13 小时 36 分钟前 via iPhone LZ 的意思是正常优化思路是降低 app 资源占用,但这奇葩抖音优化思路却是通过特殊方法增大手机可用资源而让它臃肿的 app 减少 crash 。
|
40
yoyoyoyolol 13 小时 29 分钟前
@RichardLuo0 抖音内部有商城、有团购,有直播有小程序,等于里面塞了个淘宝又塞了个美团,和 youtube 还真不一样
|
42
Yanickkk 13 小时 6 分钟前
@RobinHuuu 目前抖音功能较多,内容方无法进一步精简。至于为何会有这么多功能,则是另一个需要单独讨论的话题。纯净版就是一个只能视频的可能有点影响营收
|
43
louisng 13 小时 5 分钟前 有种何不食肉糜之感,LZ 居然没有用过卡的手机,真幸福
|
44
m1nm13 12 小时 53 分钟前
这玩意是不是给电视盒子弄的?国内一大堆安卓 6~9 的电视盒子。
|
46
icyalala 12 小时 26 分钟前
@RichardLuo0 抖音有直播,送礼,团购,商城,聊天群,拍摄,特效
那 newpipe 有这些吗?归根结底是低端机用户有这些需求,你不能说低端机用户不配用这些吧。。 |
47
atrexl 12 小时 19 分钟前
看楼主的发言,不理解并大受震惊。
|
48
malusama 12 小时 17 分钟前
没用过抖音还讨论啥的,最耗资源的是播放视频吗? 他那些美颜算法后面都是模型
|
49
hammy 11 小时 53 分钟前
没用过抖音那确实不太应该先评论,比如可以先用一下抖音...
抖音的进店核销在很多地方比美团大点要多的, 驿站取件里相当一部分抖音购物的单, 还不算其他七七八八的功能, 抖音也是个巨大的 app ,对用户来说反而是好用的,用户不关心技术怎么实现的 |
50
hammy 11 小时 47 分钟前
不过我能理解 op 的意思,为什么抖音的思路跟正常的开发者不一样。
但是开发者看到的大众看不到就是。 |
51
skylancer 11 小时 32 分钟前
为什么卤煮的思路和正常人不一样,正常人想的是我刷抖音要快不卡看得爽,基础研发就是这样的东西,你倒好还在那疑惑来疑惑去
|
52
skylancer 11 小时 23 分钟前
@RichardLuo0 谁告诉你视频就是最大的开销了,直播的 p2p 不是开销,弹幕文本 canvas 的 rendering 不是开销。回到你嘴里的视频解码,不是所有的机器都能有一个通用的方案的,以前还有各种奇技淫巧的方式优化。你一个连基本知识都没有的跑来质疑我看了就想开屌,再者,这些优化更多的是面向国际市场的,国际市场设备迭代可比国内市场低多了,低端设备多了去了,真的是啥啥不懂
|
53
383394544 11 小时 12 分钟前
帮忙转发原文,免得之后链接失效。
「 抖音客户端基础技术团队的于聪分享了对存量旧手机体验优化的三项底层技术方案。 背景是超级 App 在 Android 5-9 老机型上遭遇三个硬限制:ART 虚拟机 heap 仅 256MB (即使声明 largeHeap )、单进程 fd 上限 1024 、线程+进程数不超过 500 。 第一项方案是 ART heap 扩容——Android 5-7 上利用 malloc space 的 main/backup 双空间机制,通过 inline hook 阻塞 copy gc 、释放 backup space 并创建更大空间、再触发 copy gc 切换,将 heap 从 256MB 扩至 740-980MB ,OOM 率降 60.77%。Android 8-9 上对 region space 做类似扩容,从 512MB 扩至 740MB ,crash 率降 8.8%。 第二项是 FD/FD_SET 扩容,通过 setrlimit 突破内核限制,再 hook libc 的 FD_SET 系列函数在堆上创建 peer 映射解决用户态 fd_set 栈内存固定大小问题,crash 率降 7.23%。 第三项最硬核——实现 M:N 用户态透明线程,通过 hook clone syscall 代理 pthread 创建,用实时信号 timer 做抢占式调度,保存/恢复完整 CPU 上下文(含 tpidr_el0 的 TLS 隔离),用一个 LWP 承载多个虚拟线程,突破 500 线程限制。技术深度极高,涉及 ART 源码、inline hook 、指针压缩、内存布局搜索、信号处理、syscall interrupt 补偿等,是 Android 深度性能优化的标杆级实践。对高爷的 SmartPerfetto 工作和性能优化方向有直接参考价值,尤其是 ART 内存管理和线程调度部分。 随着业务发展,国内各类 App 均朝向"超级 App"的方向发展,这对存量旧手机的体验与稳定性带来了极大的挑战:Android art 虚拟机的 heap 内存十分有限,部分老机型即使在 app 标注 largeHeap 后还是仅有 256MB ; Android 9 以下版本,单个进程的 fd 上限为 1024 ;部分厂商在 Android 8 以下系统版本,更是限制一个 app 的进程+线程数不能超过 500 。 1. ART 虚拟机 malloc space 扩容 利用 malloc space 的 main/backup 双空间机制,通过 inline hook 控制 copy gc 时序,将 heap 从 256MB 扩至 740-980MB 。OOM 率 -60.77%。 2. ART 虚拟机 region space 扩容 Android 8-9 上对 region space 扩容,从 512MB 扩至 740MB 。crash 率 -8.8%,OOM 率 -6.93%,gc 后内存水位超 90% 渗透率 -73.34%。 3. FD/FD_SET 扩容 通过 setrlimit 突破内核 fd 限制,hook libc FD_SET 在堆上创建 peer 映射。Android 9 以下 crash -7.23%。 4. M:N 透明用户态线程 Hook clone syscall 代理 pthread ,实时信号 timer 抢占式调度,完整 CPU 上下文切换(含 TLS 隔离),1 个 LWP 承载多个虚拟线程,突破 500 线程限制。实测 1 个 LWP 运行 15 个 java 线程 + 3 个 native pthread 。 」 |
54
fromzero 10 小时 56 分钟前 via Android
哪来的傻子?
|
55
Yasuke 10 小时 50 分钟前
这个很正常的,我感觉你一点都不了解 Android 的设计
|
56
GeruzoniAnsasu 10 小时 49 分钟前 看了 OP 的历史发帖顿时连回复的力气都没有了
|
58
flyntemp 9 小时 52 分钟前 via iPhone
好家伙搞这么多黑科技,还是用苹果吧
|
59
hefish 9 小时 42 分钟前
因为我的以前的手机看视频不卡,所以其他手机看视频肯定也不应该卡, 卡了就是厂家在干坏事,我就要卸载它。
|
60
est 9 小时 42 分钟前
这个技术的确吊
但是不理解为啥 douyin 那么废资源。。。 不就是个视频轮播么。。。? |
61
r1902167838 8 小时 47 分钟前
这不是好事吗?
|
62
evilHa 8 小时 43 分钟前
@RobinHuuu 按照 38 对 op 的表达的理解,(为什么还要二次理解?)
我不知道多少人在大公司呆过,一个大的产品,你负责这块,我负责这块,他负责这块。优化组有优化组专门的指标,运营组有运营组的指标,商城有商城的指标。你把我商城的 thread 下了,那我的指标你能负责吗,你负责不了别说话。 优化组就是干这个的,你用多少不是我负责的,但是怎么在旧手机上用更多的资源是我的 kpi ,我就得研究。 作为领导,我能保证各个线程运行的情况下在旧手机上用更多的资源,搞个优化组何乐而不为啊。让我砍一个和让我加一个,我还是选得出来的。 |
63
RichardLuo0 OP @evilHa 那最后用户不就自然而然变少了吗?最后该不会还要问为啥会变少吧???
|
64
evilHa 8 小时 37 分钟前
@RichardLuo0 #62
我不知道我哪句话让你误解,用户自然而然变少???? |
65
sddyzm 8 小时 35 分钟前
这对低端机用户很重要
|
66
yinanc 8 小时 24 分钟前
我感觉你的思路跟正常人更不一样
|
67
yinanc 8 小时 23 分钟前
@GeruzoniAnsasu 看了一眼确实。。我为尝试理解楼主的这个帖子花的 1 分钟感到不值
|
68
sampeng 8 小时 17 分钟前 via iPhone
op 不会只认为就是个播放视频吧…
|
69
RichardLuo0 OP @evilHa 优化不该用更少的资源吗?用的更少了才是 kpi 吧
|
70
RichardLuo0 OP @sampeng 不然呢?用户打开这个 app 期望不就是看视频吗?他要是有别的东西那不是得怒发冲冠了
|
71
RichardLuo0 OP tg 当年加个动态和钱包什么的 可把很多人气走了
|
72
rb6221 7 小时 18 分钟前
你干互联网的连下沉市场这几个字都记不得了吗
农村老人的低端机,打开商城、打开广告流畅 0.1s ,再放大到几百万,这带来的都是实打实的商业收益 |
73
383394544 7 小时 4 分钟前 |
74
guagusi 6 小时 48 分钟前
"我记得以前的非智能 java 机 都可以在线看视频啊"能说出这话的人儿,要不是不要脸就是年轻无知,功能机时代 3G 网络看的是啥视频
|
76
MuyuQ 6 小时 2 分钟前
OP 难道没在国内互联网大厂里待过么。
但凡有一点经验也不会见怪不怪了。你为了简洁快速,去把其他组的 KPI 砍了,你给补吗? 而且 OP 从用户角度的思考也很奇葩,完全不是普通人的视角,而是有某种技术洁癖的孤僻症患者的感觉。 普通用户只在乎他使用抖音的时候卡不卡,只要使用抖音的时候不卡,万事大吉。 |
77
RichardLuo0 OP @MuyuQ 手机肯定是一直在切换 app 的呀 你一个 app 给我占满了那对吗 app 应该应对频繁被杀死的情况才对吧
|
78
skylancer 5 小时 52 分钟前
@RichardLuo0 你是一点技术能力也没有还来质疑,比如上面的优化,fd 本身就是一个老大难问题,你以为 1024 很多吗,不要说这种所谓一个 App 即操作系统,虽然是个嘲讽的梗,但是在商业化和收入的要求下这些东西能砍? 你可能不知道抖音电商的收入。扯远了,在这个前提下 fd 1024 可就不是个小问题了,不要说应用本身,很多时候必须要插的三方 sdk 你是根本控制不了,这种时候不折磨一下自己还能折磨谁。所以你就是个明明啥都不懂还要在你不懂的方面大放厥词
|
79
MuyuQ 5 小时 52 分钟前 @RichardLuo0 Android 5-9 的旧手机,在现在 APP 的面前能保持一个前台 APP 流畅就谢天谢地了。 你居然还指望多 APP 后台保活吗? 旧手机唯一需要考虑的事情就是当前前台 APP 流畅。
至于微信之类的保活,你不用担心,是由手机厂商在系统层面的保活优先级策略控制的。 对于新手机来说,随便都是 8-16G 的运存。那点占用根本无所谓,而且手机厂商也有一套自己的保活机制。 所以抖音的“黑科技”确实是挺厉害的。 前台流畅 >> 后台保活一万倍。 |
84
MuyuQ 5 小时 44 分钟前
|
85
skylancer 5 小时 39 分钟前
@MuyuQ 发帖记录看起来勉强勉强还行吧,有些帖子可能只是现实生活常识上的缺失,比如很明显的甲方下架视频他理解成厂商 OTA.. 我对那个 TUNA 群传奇贵物非常的好奇,究竟是个什么神人...
|
86
pricky777 5 小时 27 分钟前
刷抖音的人能看到这篇 X 上的帖子?
|
87
ZeroDu 5 小时 14 分钟前
抖音在安卓上打开多刷一会就会变卡发热,非常离谱,其他 APP 都没出现过这种情况
|
88
RichardLuo0 OP @MuyuQ 那我当初用的 Nexus
6p 火龙系列的 现在也算底端了吧?可是当初我刷 yt 也就感觉温温的 不可能卡顿啊 而 yt 其实这几年也没更新啥啊 就换个界面。 |
89
pill 3 小时 31 分钟前 十年前字节确实是有技术追求的 当时的西瓜视频无论从哪方面来讲都是世界第一梯队的水准 最开始的抖音继承了这一点 但是现在已经退步到用 iPhone 17 去直播间下个单都会卡住的地步 它占用的资源足够让 2020 年前后的手机只要点开 其他 app 全部重载 不清楚为什么有人称这是技术优化 这很明显是 workaround 某种程度上来讲拼多多才是真正的技术优化 而技术深度上来讲 现在只有 instagram 和 telegram 两个 gram 维持住了世界第一梯队的水准
|
90
creepersssss 1 小时 16 分钟前
把这种技术分享出来,就会让产品经理认为性能还有上升的空间,小广告贷款商城加大力度开启恨不得一打开全糊到用户脸上
到最后技术实在是没有上升空间了,APP 就完全不能用了,把技术全裁完换能 9117 的年经技术也救不了 APP 性能的时候,就该倒啦 |