她删除了好友,不再聊天(也会回复)我做其他事情的时候,她多次访问我qq音乐是为什么啊?

过去数十年里,智能手机的发展方向经历了多次改变,但不管智能手机的功能或身份发生什么变化,用户对大存储空间的追求却从未改变。尤其是2011年Android系统全球占比超越了50%后,国内新兴的Android手机市场也为手机的存储空间提出了更高的追求。

但为什么这里我需要专门强调2011年呢?原因很简单,2011年1月21日,影响了国内移动互联网发展软件——微信正式推出。

时过境迁,2022年的国内移动互联网早已不是过去“小而美”的那个样子看,尽管微信本并没有像其他国内特色软件那样加入闪屏广告,但功能日益增长的微信却用越来越“丰富”的缓存文件占据了用户的手机空间。

看到这里,大家不妨打开手机,看看这个安装包只占据265MB的软件,吃掉了手机多少的存储空间。甚至在小雷身边就有因为微信占据了40GB存储空间而不得不购买256GB手机的同事。微信离曾经的“小而美”已经越走越远了。

不过微信似乎也意识到了自己的问题,因此在最新的微信Android版8.0.22测试版中,微信特地加入了清理缓存的细分界面。依次进入“设置“-”通用“-”存储空间“页面后,用户终于可以分别清理视频号、小程序、公众号、朋友圈等细分功能进行缓存清理了。

不过话又说回来,为什么微信会留下这么多的缓存?

清理缓存真的能变快吗?

其实从软件开发的角度看,缓存其实是软件的其中一个重要组成部分,也是让软件可以流畅运行的其中一个重要机制。以今天的主角微信为例,如果开发者不依靠本地缓存文件,我们每一次打开通讯录都需要重新向服务器请求列表里的好友头像、每一次打开朋友圈都要重新下载数十张图片、甚至每一次点开好友发来的文件都要从零开始下载,这样的即时聊天软件真的有人用吗?

当然了,现在的微信就算你不清缓存,点开别人前几天发送的文件也有可能提示文件已经过期就是了。

话题回到缓存身上,刚才说到缓存是软件的重要组成部分,对微信这种即时聊天软件来说,脱离本地缓存将所有数据都放在云端显然不现实,缓存文件的出现可以让软件能以更快的速度完成必要数据的载入。从这个角度来看,利用读取更快的本地文件作为短时间的替代品,让软件可以在后台获取下载最新的云端数据,缓存确确实实能提升软件的运行速度。

既然缓存那么重要,那为什么微信推出分类清理缓存的功能能换来用户的点赞呢?这就牵涉到一个“量”的问题了。在软件领域,让一个软件运行得更快的方式有很多,而最广为计算机人知的一个方法叫做“空间换时间”。

缓存文件的运用说到底就是空间换时间的其中一种方式:对于一个合理开发的软件来说,适当的缓存文件确实能起到加快运行的作用,同时也不会对系统的文件存储带来过多的存储负担。但如果某个软件脱离了“合理”的范畴,在系统中放入了过多的缓存文件,物极必反的道理就该出来说话了。

缓存文件的出现是为了解决完整数据加载缓慢的问题,但除了远端数据下载缓慢外,过多的本地缓存数据也会拖慢数据加载的时间。举个简单的例子,在书里放一两个书签可以让你快速找到对应页面,但如果你在一本五百页不到的小说里放两万个书签,原本的内容还能不能看到本身就是个问题。

过多的缓存文件本身就需额外的文件索引系统,同时也需要占据更多的软件空间,甚至有可能会出现缓存文件比完整文件还要大的情况。那这些数据都存到了哪里呢?没错,就存在微信占据那数十GB的文件里。

道理我都懂,为什么微信那么大?

其实从微信的角度看,我也能理解为什么微信会在手机里放那么多的缓存文件。在用户口中,微信可能“只不过是个聊天软件”,但对国内数字生活来说,微信从来都不只是通讯软件那么简单。朋友圈、公众号、视频号的出现不仅占据了用户的时间,同时也占据了更多的手机缓存空间。用户划过的每一条朋友圈、看过的每一个公众号、视频号,背后都意味着更多的缓存文件。

2017年推出的微信小程序更是让微信的缓存问题带来了更严峻的压力,以每天都离不开的健康码为例:尽管小程序的所有数据最终都以服务器远端数据为准,但在文件没有更新的情况下,小程序的框架、交互与图片背景素材都会以本地文件的形式存放在用户手机中。

而根据微信小程序的开发指南,微信见这些本地文件分为三类:

本地临时文件:运行时最多4GB、结束后会清理超过2GB的部分。

本地缓存文件:最多200MB。

本地用户文件:最多200MB。

但本地缓存文件和本地用户文件的清理时机跟代码包一样,只有在代码包被清理的时会被清理。很显然,用户不会对这些数据做出任何区分,反倒会将其统称为“缓存文件”。如果每一个小程序都吃满了2.4GB,微信占据用户手机存储空间的抱怨似乎也算得上是有理有据了。

但微信真的需要这么多功能吗?对于我们来说可能不需要,但对微信自己来说,非常需要。

不同于其他移动软件,微信本身就是一个“超越”手机系统的超级应用,它的出现将用户从手机厂商给出的生态中剥离,并将这些用户的数据捆绑到自己的平台中。小程序的出现,毫无疑问是微信“系统化”的重要契机。

只要一台手机支持小程序,我们就可以借助小程序,在不离开微信的前提下打车、叫外卖、购物、甚至是支付水电费。再加上微信小程序开发与维护的成本远低于开发一个传统App,因此不少服务类应用甚至只提供微信小程序。

这种超级应用的出现,极大的削弱了用户对手机系统的依赖,同时也让用户切换手机品牌的成本进一步降低。此前微信与因打赏费用抽成而产生冲突时,不少用户就表示可以没有iOS,但不能没有微信。虽然说现在手机品牌推出的各项云云服务确确实实为品牌添加了不少用户忠诚度,但在微信“即时通讯软件”五个字面前,用户的选择都非常“诚实”。

还能回到曾经的小而美吗?

这也是我认为微信不会回到曾经“小而美”时代的原因。对微信自己来说,无论是另起炉灶建立新的平台,还是“开小号”将微信系统平台的身份独立出去,都将对微信本身的用户粘性带来极大的打击。

如此明显的问题,行业内部的产品经理显然不可能看不到,但是在KPI面前,上头要求的流量、时长和活跃用户标准让团队无力作出改变。繁杂和臃肿,能够迫使用户使用时长提高,而简洁和直接,则很可能意味着流量的快速丢失,这对任何团队来说都不是什么好消息。

不过,随着移动互联网的流量红利逐渐消失,各个消费领域开始转向存量市场。厂商们开始意识到,比起继续挖掘更快的增长或者更高的时长,如何更好地为用户提供合适的服务,以更好地体验留下现有的存量用户,才是一款应用得以长期发展的关键所在。

或许正是因为观念开始转变,近些年来,部分互联网厂商做起了“减法”。早在去年,腾讯就已经先后为QQ音乐、手机QQ等多项应用推出“简洁模式”,在开启简洁模式后,手机QQ附带的诸如直播、微视、动画、游戏中心等等功能全部都会隐藏起来,只剩下最基础的聊天、好友、动态,整个界面清爽到令人感动。

当未来某天移动互联网生态不再以流量作为唯一评判标准时,微信说不定还真有可能会回归本心,做回那个小而软件。不知道在那个时候,7天前通过微信发送的文件,还会不会提示文件已过期了呢?

本文内容由“微信多媒体团队”整理发布。

广州TIT创意园,这里是腾讯在广州的研发团队所在地,LiveVideoStack采访了微信多媒体内核中心音视频算法高级工程师梁俊斌(Denny)。从华为2012实验室到腾讯,过去十余年梁俊斌一直专注在音频技术。他告诉LiveVideoStack:音频技术还有许多难点需要解决,而作为技术人也延展到应用场景,关注用户需求。本文整理了本次访谈的主要内容,仅供参阅。

- 即时通讯开发交流3群:[推荐]

- 移动端IM开发入门文章:《》

梁俊斌:现在是2018年,二十年前(1998年)我考进华南理工大学,直到2007年这9年都在华南理工大学完成我的本科、硕士、博士的学业,期间跨越了好几个不同的学科和技术领域,包括机械、电子、自动化、人工智能,这些不同的学科跨度还是蛮大的,和其他的音频同行有不同,他们一开始在学校就专攻音视频多媒体、编解码算法。我在大学期间,在音视频领域是没有较多的积累,只是基本了解一点,实际接触不多。

2007年,从华南理工大学毕业之后加入了华为公司,进入了“2012实验室”多媒体工程能力中心,在这里我开始踏入语音频领域,并从此锁定了自己的职业道路方向,到现在我还在持续做语音相关的技术。期间有过一些其他部门的同事邀请我转行,但我拒绝了,我坚信要做自己认为正确的事情,就必须破釜沉舟把它做深做透。音频这个行业还有很多很不成熟的东西,可能从外界普通用户的角度来说,我们这块已经很成熟了,没什么可做的,但实际上(语音)还有很多尚未解决的难题,需要有人来做。

后来我进入了腾讯公司,加入了微信团队。微信给我最大的触动就是所有人都在用,这种空前的成就感是不言而喻的,所有的亲戚朋友都在用,要是自己做不好的话,尤其是语音通话、语音消息每天都在用,哪天不小心出点Bug,就会影响到很多很多身边的人,所以在享受微信工作带来的满足感的同时做技术每个环节都要求非常严谨。

华为最为神秘的“2012实验室”(据说研究的都是各种黑科技):

华为的“2012实验室”是华为的总研究组织,据称,该实验室的名字来自于任正非在观看《2012》电影后的畅想,他认为未来信息爆炸会像数字洪水一样,华为要想在未来生存发展就得构造自己的“诺亚方舟”。

华为2012实验室的主要研究的方向有新一代通信、云计算、音频视频分析、数据挖掘、机器学习等。主要面向的是未来5-10年的发展方向。华为官方数据显示,2015年,华为研发投入为596亿元人民币,占2015年销售收入的15.1%,近十年来,华为已经在研发方面投入了超过2400亿元人民币。

2012实验室的二级部门包括:中央硬件工程学院、海思、研发能力中心、中央软件院。今天着重讲述华为很少对外公开,但在2012实验室里有着极高战略地位的研究部门。

梁俊斌:语音通话是两个或多个人在不同的地点通过手机或者说其他终端完成对话的过程,这里涉及到通话的外界声学环境因素,包括噪声、回声,混响,所有这些环境因素都会影响对方的收听效果,而不同场景环境下问题现象差异较大,如何有效解决这是一个方面。

第二方面,微信是一个超十亿级用户的APP,其中的音视频通话功能是最基础的,我们每天都有几亿人在使用这个功能,这里涉及成千上万款不同厂家不同型号的手机(当然还有PC、Mac等设备),其不同硬件有不同的声学特性,例如频响、不同设备的内置硬件处理后的噪声、杂音等,也有操作系统非实时性的问题,还有各种APP的音频资源冲突等各种状况,我们都需要做相应的适配和有针对性的优化。

另外,网络传输可靠性是非常关键的部分,网络传输存在丢包、抖动、时延等问题,网络越复杂问题更多。语音包到达对方终端后解码、播放。声音传入耳朵的过程是心理声学感知的过程,你能不能感知的到对方传递的声音信息,信息是否干净且易懂。声音传递到大脑,其中的关键信息是否让你有深刻印象还是听了就忘没有痕迹,这些都是很值得研究的课题。而我们微信技术架构部多媒体内核中心自主研发的WAVE(微信音视频引擎)组件正是围绕上述问题不断迭代、持续改进优化,构建高可用性的互联网音视频通话技术基石。

行外人不了解这些细节问题,所以才觉得没什么可做的,然而这个细节问题是必须有人做的,而且需要长期的一丝不苟的投入。做一个能通话的APP不难,但做一个超十亿级用户都认可的通话功能是不简单的。

梁俊斌:是的,这是一个系统工程,而不仅是一个安装在手机上的应用软件,需要涉及通话双方端到端一环扣一环的质量监控和故障应对体系。我们每天都会积极搜集用户的反馈信息,深入具体case去分析通话问题的原因,尽我们所能帮助用户解决问题。

此外我们拥有功能强大的后台运维系统,该系统能实时对大盘通话质量做端到端的分析,对异常情况会及时报警,保障通话功能的正常使用。虽然微信通话是免费的,但我们身上的责任是巨大的,我们微信技术架构部多媒体内核中心每个同事每天都在为提升改进用户音视频通话体验而不断努力。

梁俊斌:是的,互联网是相对不可靠的,在WAVE引擎里面提供了适配不同网络传输特性的抗丢包、抗抖动算法和机制,让通话过程语音更顺畅。

心理声学是研究物理声学与人类听觉感知之间关系的一门边缘学科,心理声学其中一个基本特性就是掩蔽特性,其又分为时域效应和频域效应,这里我们侧重在频域上的掩蔽效应,常规情况下相邻频带能量强的会屏蔽掉能量弱的频带,在通话应用中,例如降噪算法,我们会通过降低噪声频点能量至掩蔽值以下来降低噪声对人耳感知的干扰,同时减少对正常语音的损伤。

除此以外,心理声学还应用到很多技术点上,这里就不一一细说了。

梁俊斌:部分手机在耳机模式下由于声屏蔽设计所以基本没有回声,但也有些手机在耳机模式下还是有可能产生回声的,可能是电耦合的电学回声,因为这里耳机产生的回声的线性度比较高,相对声学回声的非线性度高而言是比较容易通过AEC抵消抑制的,所以常规情况下你通过耳机接听基本没有回声问题。

AEC是对扬声器信号与由它产生的多路径回声的相关性为基础,建立远端信号的语音模型,利用它对回声进行估计,并不断地修改滤波器的系数,使得估计值更加逼近真实的回声。然后,将回声估计值从话筒的输入信号中减去,从而达到消除回声的目的,AEC还将话筒的输入与扬声器过去的值相比较,从而消除延长延迟的多次反射的声学回声。根椐存储器存放的过去的扬声器的输出值的多少,AEC可以消除各种延迟的回声。

梁俊斌:从5G的设计目标是高带宽低时延,但目前还没真正商用,对此我还是有点保留的,因为频率越高传输的距离越有限,网络覆盖应该更小,最终的网络质量还要跟基站建设密度相关,要是做得不好的话,对我们音视频通话是一个挑战。由于纯语音通话本身所占带宽有限,5G的影响相对来说还不是很大,对于视频通话体验应该是有提升的,当然带宽越大、时延越低,我们可以做得技术可以更多。

另外通话双方使用的如果是不同网络或者不同运营商网络,如何适配和确保数据的连接的可靠性,正确性、低时延,这些是比较重要的。

关于移动弱网的文章,可以读一读以下几篇:

梁俊斌:刚才提到“孤独”这个词很准确,为什么呢?搞技术的人就必须习惯孤独,享受埋头钻研的“孤独”带来的愉悦,技术人经常面对挫折而无助的局面,每一次失败的尝试让我们感受到了冰冷的绝望,但内心的光明指引着我们砥砺前行。

为什么选择音频?刚开始接触音频的时候,我觉得音频技术可操作性很强。相对于以前在学校里面做的很多底层芯片相关的项目,DSP、ARM、MCU、FPGA等,需要借助别人的专用平台,在别人提供的最小系统板上或自己设计的PCB上开发,硬件制(电路)板周期长。如果工厂制板工艺环节出现什么问题,例如PCB层间有金属丝残留导致短路或不稳定状况,返工还要考虑外面制板工厂的工期以及芯片供货周期,有时候芯片要从国外申购就要等好几周的时间。

而做音频则方便多了,很简单,只要你有一台PC或者手机,你就能录音,你就能做处理,你就能马上听到自己做的东西的效果,整个过程完全可以自己掌控。而且在华为、腾讯公司能够提供相当不错的大平台和优越环境,让我可以沉下心来搞音频,所以我就一直坚持下来了。

梁俊斌:(搞多媒体开发)就是要不断的积累,积淀越深厚才能看得更高更远。

那时候我在华为做了几年的管理之后反思,因为在大公司里面做管理,大部分时间都是被支配的,没有太多的时间可以专心做自己想做的事情。后来自己就做了决定,还是全身心投入到技术研发,做自己想做的事情,这个是最理想的状态。

梁俊斌:我在学校的时候就开始接触AI的理论和算法,例如神经网络、无监督学习和有监督学习等,那时候的机器比现在差太远了,更没有适合并行运算的GPU,跑不了很复杂的东西,耗时很长,而且没有现在那么开放的数据库可供训练,所以当时的AI理论技术没能得到长足发展,也没有成功的实际应用。回到现在,过了那么多年后,以前冷门的技术现在变成热门了。现在AI和语音结合得比较紧密,语音识别、声纹识别、语音合成、AI降噪等等,但处理及存储的开销、时延问题,以及AI算法在实际运行中如何做到可观可控等问题还有待进一步解决。

你提到音频这一块是不是越来越小众了?当下看到的感觉是越来越小,但我们要看未来(的应用)。

目前我们只是做了单声道、双声道的通话应用,未来必然是沉浸式的虚拟现实音视频体验,随着传感器工艺升级,设备体积进一步微型化,网络管道的海量带宽支持,未来我们将可以非常自由的体验与现实世界无异的虚拟现实世界,这里运用到的3D立体音频动态建模,实际环境声场与虚拟声场的融合交互技术。

另外,随着便携传感器的普及,AI对个人和群体的数据分析,AI会比我们自己更了解自己,例如AI根据外界环境状况、个人喜好、当前身体的各项检测指标判别你当下的情绪和心理状况,可以为你提供更适合当前个人心情、场景环境的音乐,让你身心更愉悦或者让你的情绪得到更有效的宣泄。现在也有一些主动降噪的音效设备,放在床边,能够主动抑制你的打鼾的声音,让你和家人能够睡得更好,这些都是音频技术可以看到的未来。

不要局限在自己所做的事情,技术可以在不同的应用场景上得以延展,不同应用场景反过来决定了需要什么样的技术,什么样的算法。所以我并不觉得我们没什么事情可做了,只有我们没有把场景和用户需求理解到位,这反而是我们担心的。倘若我们对用户需求都不理解,对使用场景不理解,那我们确实没什么可做的。如果我们搞清楚了用户的应用场景,我们才能开发出相应的技术,并告知用户这个技术特性是你所需要的。所以要吃透分析用户场景和需求,肯定会有很多事情需要我们做的。

梁俊斌:一般人只有两个耳朵,如果播放单声道音源的时候,你可以理解人只用了一个耳朵,因为他两个耳朵听到的东西是完全一样的。

人在听单声道的信号的时候,单个耳朵就能抽取出自己感兴趣的内容,而忽略干扰信号的部分,这就是鸡尾酒会效应,即在一个很繁杂的环境里人都能快速捕获自己想听的内容。

相比之下,我们目前还需要借助多个麦克风组成阵列,通过阵列算法来增强某个方向的信号衰弱其它方向的信号,如果需要角度分辨度更高,或者立体空间某个角落的声音信号则需要更加多的麦克风和更复杂的阵列布局。

所以这个领域的研究就很有趣了,单个人耳完胜我们目前商用的麦克风阵列。很多大牛都在研究这个,还没有完全攻克,如果这个问题解决了,那普通手机只需要一个麦克风就可以实现人耳相近的效果了。

麦克风阵列(Microphone Array),从字面上,指的是麦克风的排列。也就是说由一定数目的声学传感器(一般是麦克风)组成,用来对声场的空间特性进行采样并处理的系统。采用该技术,能利用两个麦克风接收到声波的相位之间的差异对声波进行过滤,能最大限度将环境背景声音清除掉,只剩下需要的声波。对于在嘈杂的环境下采用这种配置的设备,能使听者听起来很清晰,无杂音。

[1] 开源实时音视频技术WebRTC的文章:

[2] 实时音视频开发的其它精华资料:

我要回帖

更多关于 qq删除好友为什么还能搜索到 的文章

 

随机推荐