专栏首页Android 开发者用新技术 “派生” 动听旋律 | Android 开发者故事

用新技术 “派生” 动听旋律 | Android 开发者故事

不断追求突破的 QQ 音乐,在近 10 年的成长过程中受到了很多用户喜爱。

QQ 音乐 Android 团队平台组的负责人阿宝,在和 QQ 音乐一同寻求突破的过程中,他发现创意、研发和平台的助力是让应用进步的三个重要因素。所以,他和团队一直很关注 Google 在 Android 上的技术发展和版本更新,并努力将新系统的新特性加入到 QQ 音乐中,让用户尽早获得最新体验。

我们来通过☟视频☟了解他们的故事:

点击查看QQ 音乐: 安静的演奏者腾讯视频

阿宝团队里的 Shawn 是 QQ 音乐适配 Android 9 Pie 的工程师,他和同事从 Android 9 Pie 的第一批版本开始就关注新系统的行为变更和新特性,并在 DP2 版本展开了适配工作。

对全面屏的支持以及原生系统通知栏样式等的支持让 QQ 音乐的用户第一时间感受到了平台的进化。

Shawn 表示从开发者的角度来看,团队使用已久的 Android Studio 的体验也在变得越来越好,功能更加强大,比如 Memory Profiler 工具让工程师在分析内存时更加轻松,此外例如 JNI 层内存分配实时监控等功能,让 QQ 音乐的内存优化工作变得十分顺畅。

前台进程和后台播放进程的双进程模式是大多数音乐 app 采用的架构,为了响应 Android 9 Pie 对后台进程执行限制的要求,QQ 音乐对这两个进程进行了改造。Shawn 和同事对这两个进程间的数据传输和 API 调用进行了梳理和分类,最终不仅满足了后台执行限制的要求,在一些额外的场景也不会随意的拉起和保活,在一些场景下,适配了 Android 9 Pie 后的 QQ 音乐可以降低 50%的内存占用。

QQ 音乐的 Android 团队也对 Kotlin 这样的新语言保持密切关注,目前 QQ 音乐的新功能基本都是使用 Kotlin 编写,平均代码行数也因此降低了 25%左右,与此同时空指针等异常问题的出现几率也降低了 50%。

Android 正在朝着更稳健安全的系统行为和更低的电量消耗等方向进化,QQ 音乐团队在这条道路上见证并使用了更强大的工具链,他们正在和 Android 一同前行,为更多的耳朵演奏出动听的旋律。

如果您也有关于使用 Android 技术的精彩故事想要跟我们及全世界的朋友分享,欢迎报名参与。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 用新技术 “派生” 的旋律把耳朵叫醒

    不同于其他手机内存里的常客,音乐类应用更多的时候是在手机熄屏的状态下工作着。享受音乐,最理想的状态便是沉浸而不易中断,开发者们也在为此不断努力。

    Android 开发者
  • Now in Android | 12 月刊 · 2019

    欢迎大家来到 Now in Android 栏目,本栏目将专注于为开发者们提供近期值得关注的 Android 开发热点内容。

    Android 开发者
  • 应用迁移至 Android P 操作指南

    Android 开发者
  • 用新技术 “派生” 的旋律把耳朵叫醒

    不同于其他手机内存里的常客,音乐类应用更多的时候是在手机熄屏的状态下工作着。享受音乐,最理想的状态便是沉浸而不易中断,开发者们也在为此不断努力。

    Android 开发者
  • QQ音乐做直播:与秀场无关,对数字音乐产业来说却是件大事

    “百播大战”已近尾声。陌陌、微博和美拍凭借着直播红利在资本市场表现不俗,YY和9158这两位老牌直播巨头乘着直播东风迎来第二春,网易、搜狐等门户巨头,阿里、京东...

    罗超频道
  • 如何在JSP中格式化时间

    在将后台数据传回前台的时候直接传输date属性的变量不进行格式化就会产生这种情况。 若是使用的是jsp则可以使用专门进行格式化的JSTL标签。 <%@ tag...

    雪地二货
  • 「企业架构」什么是TOGAF?完整的介绍

    在众多企业架构框架中,TOGAF®不是第一个,也不太可能是最后一个。但它在全球范围内的使用已经持续了近20年,在当今的科技领域,这是一项令人印象深刻的壮举。

    首席架构师智库
  • 垂直居中 原

    垂直居中的方法很多,一般是设置line-height,display:table-cell,vertical-align:middle,或者transform:...

    tianyawhl
  • C++类型转换

    允许将任何指针类型转换为其它的指针类型;听起来很强大,但是也很不靠谱。它主要用于将一种数据类型从一种类型转换为另一种类型。它可以将一个指针转换成一个整数,也可以...

    用户2929716
  • “企业移动信息化入口”之争,“太子”是否转“备胎”? | 研报×To B

    作者:移动信息化中心 丁兆增 关键词:移动OA,移动信息化中心 网站:www.tikehui.com 这里是移动信息化研究中心在 T 客汇上的研报专栏。我们针对...

    人称T客

扫码关注云+社区

领取腾讯云代金券