SF
网易云音乐技术团队
网易云音乐技术团队
注册登录
关注博客
注册登录
主页
关于
RSS
云音乐 Android 内存监控探索篇
云音乐技术团队
2023-02-06
阅读 5 分钟
1.9k
随着云音乐不断的对线上崩溃治理,目前崩溃率已经达到了行业内较低水平。但线上还存在很多 OOM 的崩溃,这种崩溃大多是因为编码不规范导致的内存异常问题(比如内存泄露、大对象、大图等不合理的内存使用)。内存问题难发现、难复现和难排查。这就需要我们通过一些监控手段和一些工具去协助开发人员更好的排查此类问题。...
Android APP 出海实践
云音乐技术团队
2023-02-02
阅读 9 分钟
1.7k
当前国内各个公司 APP 出海创收已经是互联网行业的常见操作。笔者最近约 2 年的时间里,都在进行云音乐旗下首个出海应用 Android 客户端的开发。本文对海外 APP 一些开发经验做一些分享。
Android 调试实战与原理详解
云音乐技术团队
2023-01-31
阅读 9 分钟
2.1k
调试功能做为开发的必备神技,熟练掌握后能极大的提高开发效率,再也不必为频繁运行代码而苦恼了。文章同时还会详细介绍调试的原理以及一些调试过程中的常见问题,想知道为什么方法断点那么慢?
网易云音乐数据全链路基线治理实践
云音乐技术团队
2023-01-17
阅读 3 分钟
1.1k
摘 要:在大数据开发领域,大家都会被一个问题困扰:调度任务延迟,然后被老板、被业务“灵魂拷问”。本文将从问题挑战、目标衡量、行动方案、成果展示、后续规划五个方面展开,详述网易云音乐在全链路基线治理的实践。
使用 TypeScript 定义业务字典
云音乐技术团队
2023-01-13
阅读 9 分钟
1.6k
本文作者:htl业务字典在业务开发中,我们常常需要定义一些枚举值。假设我们正在开发一款音乐应用,我们需要定义音乐的类型,以便在业务代码中进行业务逻辑判断: {代码...} 随着业务逻辑的扩展,简单的枚举值往往会衍生出许多关联的字典。比如,我们需要定义一个音乐的类型对应的名称 {代码...} 或者需要定义一个音乐类...
云音乐评论内容理解技术
云音乐技术团队
2023-01-10
阅读 5 分钟
1.3k
歌曲评论是云音乐的核心资产之一,对歌曲评论的内容进行理解,有助于分发好内容,提升用户体验。评论内容理解需要解决的核心问题有:一方面,亿级的评论内容质量参差不齐,存在大量的水评等各种低质量的评论会淹没好评论,损害了用户体验和评论区氛围,因此设计评论分类算法,将评论类别区隔开来,再用推荐策略针对性的...
社交场景下iOS消息流交互层实践
云音乐技术团队
2023-01-09
阅读 6 分钟
1.4k
一款社交产品的诞生,离不开即时通讯(IM)场景。随着团队业务版图在社交领域的布局,诞生了多个社交场景APP,涉及的IM场景,包含私聊、群聊、聊天室等。
云音乐视频搜索优化之旅
云音乐技术团队
2023-01-04
阅读 12 分钟
1.8k
谈到搜索,大家日常生活已离不开此功能,例如通用搜索引擎Google百度,购物时的电商搜索,听歌时的音乐app搜索等。在不同的业务场景下,搜索的业务本质与目标也有着很大异同。在电商场景下,搜索本质上是非精准导向的,因为满足用户query意图的商品候选量级极大,个性化的作用极大的被彰显,在query理解、召回及排序的各...
基于 GraphQL 的云音乐 BFF 建设实践
云音乐技术团队
2022-12-28
阅读 9 分钟
2.2k
谈到 BFF,相信大家都不会太陌生,过去在云音乐,前后端的协作架构一直维持比较传统的前后端协作模式。各个端所需要的接口完全依赖服务端提供,服务端同学除了需要完成微服务的业务逻辑外,还需要针对前端页面调度各个领域的微服务,根据前端的数据诉求进行一定程度的组装和适配。
网易云音乐全链路埋点管理平台建设
云音乐技术团队
2022-12-21
阅读 4 分钟
2k
在文章云音乐曙光埋点:还原数据理想国中,我们介绍了曙光埋点项目方案,该方案基于多端一致埋点对象树建设管理,实现了统一自动化埋点和链路追踪,方案高度还原了大前端埋点的理想状态、具备较强通用性和扩展性。我们围绕这套埋点方案研发了配套的埋点管理系统,以承载及埋点规则数据管理、埋点设计、埋点研发、埋点测...
你构建的代码为什么这么大
云音乐技术团队
2022-12-20
阅读 6 分钟
2k
本文作者:文西前言代码体积的控制对前端来说至关重要,尽管网络条件逐渐变好,但是代码体积的增加不仅仅只影响资源加载速度,还会直接或间接影响浏览器各类性能指标。例如增加用户内存使用消耗,内存的增加又会更频繁的触发 V8 引擎的 GC 机制,进而影响页面交互性能。本文从一个典型的 Webpack+Babel 工程出发,找到构...
React Native工程Monorepo改造实践
云音乐技术团队
2022-12-16
阅读 7 分钟
2.1k
那在开发过程中存在的问题就是每个收银台的核心逻辑如商品展示、支付方式展示、下单购买等逻辑都大致相同,而每次有修改或者新增需求的时候都需要开发多次,重复代码较多效率低下。
读懂 gradle dependencies
云音乐技术团队
2022-12-13
阅读 12 分钟
2k
不过在使用 dependencies 时有一些细节之前一直没有搞清楚,遂研究了一下部分细节。本文整体参考 gradle 官方文档,大家感兴趣也可以自己深入研究下。
傻瓜方式分析前端应用的体积
云音乐技术团队
2022-12-01
阅读 24 分钟
1.3k
图片来源:cdn77.com本文作者:xsy前端应用的 bundle 体积是影响应用性能的主要方面之一,我们看下取自 HTTP Archive - Loading Speed 的两幅截图大概是得益于设备性能以及带宽的提升,2022 年移动端页面资源的加载耗时相较 2017 年降低了 38.6%JS 启动耗时指的是脚本被解析执行的耗时,随着前端应用承载了越来越多的功...
扒一扒 Jetpack Compose 实现原理
云音乐技术团队
2022-11-21
阅读 25 分钟
3.9k
Compose 是 Google 推出的现代化 UI 开发工具包,基于声明式 UI 开发风格,加上 @Composable 函数帮助开发者有效的实现关注点分离,另外 Compose 内部最大程度优化了重组范围,可以帮助我们高效的刷新UI,考虑到 Compose 整体架构设计过于复杂,这篇文章主要带大家了解 Compose Runtime 层核心的实现逻辑。
如何魔改Retrofit
云音乐技术团队
2022-11-15
阅读 14 分钟
2.1k
Retrofit 是 Square 公司开源的网络框架,在 Android 日常开发中被广泛使用,开发者们对于 Retrofit 的原理、源码都已经有相当深入的分析。
云音乐iOS端代码静态检测实践
云音乐技术团队
2022-11-07
阅读 13 分钟
2.9k
随着项目的扩大,依靠纯人工 Code Review 来保障代码质量、防止代码劣化变得”力不从心“。此时有必要借助代码静态分析能力,提升项目可持续发展所需要的自动化水平。针对 C、Objective-C 主流的静态分析开源项目包括:Clang Static Analyzer、Infer、OCLint 等。它们各自特点如下:
极致编译速度,一文搞定webpack5升级
云音乐技术团队
2022-11-02
阅读 8 分钟
2.1k
本文作者:xiongxiao01在尝试升级 webpack5 之前,建议大家尽量先把官方文档通读一遍,可以少走很多弯路,本文是在结合具体业务场景后,对官方文档的归纳和补充。
Recoil 状态管理方案的浅入浅出
云音乐技术团队
2022-10-11
阅读 9 分钟
2.5k
背景: Recoil 是 Facebook 推出的一款专门针对React应用的状态管理库,在一定程度上代表了目前的一种发展趋势,在使用时觉得一些理念很先进,能极大地满足作为一个前端开发者的数据需求,本文对 Recoil 的这些特性做一个梳理。
云音乐 iOS 启动性能优化「开荒篇」
云音乐技术团队
2022-09-21
阅读 19 分钟
5.9k
App 启动作为用户使用应用的第一个体验点,直接决定着用户对 App 的第一印象。云音乐作为一个有着近10年发展历史的 App,随着各种业务不停的发展和复杂场景的堆叠,不同的业务和需求不停地往启动链路上增加代码,这给 App 的启动性能带来了极大的挑战。而随着云音乐用户基数的不断扩大和深度使用,越来越多...
基于自建 VTree 的全链路埋点方案
云音乐技术团队
2022-09-14
阅读 16 分钟
2.9k
在当前移动互联网时代,一个产品想快速、准确的抢占市场,无疑是需要产品快速迭代更新,如何协助产品经理对产品当前的数据做出最优判断是关键,这就需要客户端侧提供高精度、稳定、全链路的埋点数据;做客户端开发的同学都深刻知道,想要在开发过程中满足上述三点,开发过程都是头大的;
基于 React Native 的动态列表方案探索
云音乐技术团队
2022-09-13
阅读 7 分钟
2.7k
时至2022,精细化运营已经成为了各大App厂商的强需求,阿里的 DinamicX、Tangram 大家应该都很熟悉了,很多App厂商也自研了一些类似框架,基于DSL的动态化方案虽然有性能上的一些优势,但是毕竟不是图灵完备,一些需要逻辑动态下发的需求实现成本偏高,或由于DSL本身限制无法实现,针对这个问题我们使用RN进行了一下探索...
RTC 脚手架的设计和实现
云音乐技术团队
2022-09-08
阅读 7 分钟
2k
RTC 即 Real-Time Communication 的简称是一种给行业提供高并发、低延时、高清流畅、安全可靠的全场景、全互动、全实时的音视频服务的终端服务。上面是比较官方的解释,通俗的来讲就是一种能够实现一对一、多对多音视频通话等众多功能的服务。目前提供该项服务的服务商有很多例如:声网、云信、火山引擎、腾讯云等。
心遇 Android 启动优化实践:将启动时间降低 50%
云音乐技术团队
2022-09-02
阅读 12 分钟
2.7k
作为 APP 体验的重要环节,启动速度是各个技术团队关注的重点。几百毫秒启动耗时的增减都会影响用户的体验,并直接反应在留存上。心遇 APP 作为一款用于满足中青年市场用户社交诉求的应用,对各个性能层次的手机型号,都要求有良好的启动体验。因此,随着用户量快速增长,启动优化作为一个性能专项被提上了日程。
云音乐iOS端网络图片下载优化实践
云音乐技术团队
2022-08-29
阅读 15 分钟
3k
图片展示,在各大APP中不可或缺,众所周知云音乐是一款带有社交属性的音乐软件,那么在任何社交场景,都会有展示图片的诉求,并且常常会有重图片场景,比如一个云音乐中Mlog的Feed流场景全都是图片,或者就是Mlog中的图集,都需要展示大量的图片,要是图片无法及时的展示出来,不能及时的被用户消费,那么会造成用户浏览...
项目RTL语言适配实践中遇到的问题和总结
云音乐技术团队
2022-07-27
阅读 10 分钟
7.2k
当今大约有超过 22 个国家,6.6 亿人使用阿拉伯文字,使其成为仅次于拉丁文和中文的世界第三大书面语言。随着业务在海外扩展的逐渐深入,App 适配阿拉伯语已经提上了日程。与我们平时接触较多的中英文区别最明显的是,阿拉伯语的书写和使用习惯是从右到左的。尽管 iOS 本身已经有很多对于这种 RTL(Right-To-Left) 语言的...
Swift 中的 JSON 反序列化
云音乐技术团队
2022-07-15
阅读 15 分钟
5.4k
图片来自:[链接] 本文作者:无帆业界常用的几种方案手动解码方案,如 Unbox(DEPRECATED)Swift 早期普遍采用的方案,类似的还有 ObjectMapper该方案需要使用者手动编写解码逻辑,使用成本比较高;目前已被 Swift 官方推出的 Codable 取代示例: {代码...} 阿里开源的 HandyJSONHandyJSON 目前依赖于从 Swift Runtime 源...
网易云音乐机器学习平台实践
云音乐技术团队
2022-07-06
阅读 9 分钟
3.2k
在网易云音乐内部,机器学习平台早期主要承担着包括音乐推荐、主站搜索、创新算法业务在内的核心业务,慢慢地也覆盖包括音视频、NLP等内容理解业务。机器学习平台基础架构如下,目前我按功能将其抽象为四层,本篇文章也会从这四个方面详细描述我们在各个抽象层的具体工作。
React Native 中实现动态导入
云音乐技术团队
2022-06-30
阅读 8 分钟
3.5k
随着业务的发展,每一个 React Native 应用的代码数量都在不断增加,bundle 体积不断膨胀,对应用性能的负面影响愈发明显。虽然我们可以通过 React Native 官方工具 Metro 进行拆包处理,拆分为一个基础包和一个业务包进行一定程度上的优化,但对日益增长的业务代码也无能为力,我们迫切地需要一套方案来减小我们 React ...
云音乐FeatureStore建设与实践
云音乐技术团队
2022-06-29
阅读 7 分钟
3.6k
在机器学习全流程的生命周期中,Feature Store是连接Data和Model之间的桥梁。他通过存储和管理ML过程中的数据集和数据管道,减少特征工程的重复工作,以实现高效率的特征数据开发,缩短模型迭代周期。
上一页
1
2
3
4
(current)
5
6
…
More
下一页
上一页
4
(current)
下一页