Tencent Music Tech Team
Author

Tencent Music Tech Team

Public account of Tencent Music's development team, focusing on technology sharing and communication.

141
Articles
0
Likes
368
Views
0
Comments
Recent Articles

Latest from Tencent Music Tech Team

100 recent articles max
Tencent Music Tech Team
Tencent Music Tech Team
Dec 18, 2018 · Mobile Development

Technical Insights from QQ Music’s Android Team on Adapting to Android 9 Pie

QQ Music’s Android team modernized the app for Android 9 Pie by integrating full‑screen displays, native notifications, and enhanced memory profiling, while re‑architecting its dual‑process playback system to cut memory use up to 50%, and adopting Kotlin to shrink code by 25% and halve null‑pointer crashes, delivering a smoother listening experience.

AndroidAndroid 9 PieKotlin
0 likes · 4 min read
Technical Insights from QQ Music’s Android Team on Adapting to Android 9 Pie
Tencent Music Tech Team
Tencent Music Tech Team
Aug 31, 2018 · Mobile Development

Adapting to Android P Behavior Changes (Part 1)

The guide’s first part explains Android P’s major behavior changes—official notch detection, restrictions on hidden APIs, new App Standby Buckets and foreground‑service rules, removal of the legacy Apache HTTP client, privacy updates, HEIF image support, and the ImageDecoder API with practical code examples.

AndroidBehavior ChangesHEIF
0 likes · 19 min read
Adapting to Android P Behavior Changes (Part 1)
Tencent Music Tech Team
Tencent Music Tech Team
Aug 17, 2018 · Mobile Development

Investigation and Resolution of Android Audio Playback Noise Issue in HLS Streams

The Android app’s HLS video produced an electric‑like noise because FFmpeg’s av_find_best_stream mistakenly selected the second audio track in a dual‑stream file, a track lacking 1‑8 kHz frequencies, whereas iOS and PC used the correct first track; fixing requires publishing videos with a single audio track and adding detection tools.

AndroidAudio PlaybackAudio Stream Selection
0 likes · 9 min read
Investigation and Resolution of Android Audio Playback Noise Issue in HLS Streams
Tencent Music Tech Team
Tencent Music Tech Team
Jul 27, 2018 · Mobile Development

Understanding Android Nine‑Patch Images: Creation, Usage, and Internals

The article explains Android’s Nine‑Patch format—a bitmap with a 1‑pixel black border defining stretchable and content areas—covers creation methods (Photoshop, Draw9patch, Android Studio), runtime parsing, practical use in network‑loaded chat bubbles, required conversion workflow, and the underlying PNG “npTc” chunk structure with code examples for manual drawable construction.

AndroidImage ProcessingNinePatch
0 likes · 20 min read
Understanding Android Nine‑Patch Images: Creation, Usage, and Internals
Tencent Music Tech Team
Tencent Music Tech Team
Jul 13, 2018 · Mobile Development

Analysis and Solutions for a Memory Leak Caused by a Repeating Animation in iOS

The article explains how a repeating iOS animation caused a hidden memory leak by retaining its view controller through a strong CABasicAnimation delegate and a performSelector‑afterDelay timer, and shows how replacing the delegate‑based animation with a CAKeyframeAnimation/CAAnimationGroup and using weak references or cancelling pending selectors eliminates the retain cycle.

CAAnimationMemory LeakObjective‑C
0 likes · 10 min read
Analysis and Solutions for a Memory Leak Caused by a Repeating Animation in iOS
Tencent Music Tech Team
Tencent Music Tech Team
Jun 29, 2018 · Mobile Development

Investigation of IllegalArgumentException in Android RecyclerView after QQ Music K歌 4.6 Release

The QQ Music K歌 4.6 crash occurs when a hidden RecyclerView, created by fragment recreation after the app is killed, retains a stale cached Footer ViewHolder that mismatches the adapter’s type after an unnotified data change, triggering an IllegalArgumentException during the RecyclerView’s layout step 2.

AndroidCrashDebuggingIllegalArgumentException
0 likes · 15 min read
Investigation of IllegalArgumentException in Android RecyclerView after QQ Music K歌 4.6 Release
Tencent Music Tech Team
Tencent Music Tech Team
Jun 8, 2018 · Frontend Development

Optimizing Vue/Vuetify Projects with Webpack: Code Splitting, CommonsChunkPlugin, and Externals

By using Webpack’s CommonsChunkPlugin to extract node_modules into a vendor chunk, configuring externals to load Vue and Vuetify from a CDN, and converting non‑critical components to async imports, a Vuetify‑based app reduces its first‑screen bundle by hundreds of kilobytes, improves caching, and speeds initial load.

Code SplittingVueWebpack
0 likes · 11 min read
Optimizing Vue/Vuetify Projects with Webpack: Code Splitting, CommonsChunkPlugin, and Externals
Tencent Music Tech Team
Tencent Music Tech Team
May 25, 2018 · Frontend Development

Key New Features of React 16.x: Render Optimization, Error Boundaries, Portals, Context API, and Ref API

React 16 introduced major enhancements—including array returns and Fragment syntax for cleaner rendering, error‑boundary components to catch UI crashes, portals for rendering outside the DOM hierarchy, a stable Context API for global data, and new Ref utilities like createRef and forwardRef—greatly improving ergonomics, performance, and encouraging upgrades from older versions.

ContextAPIErrorBoundaryPortal
0 likes · 11 min read
Key New Features of React 16.x: Render Optimization, Error Boundaries, Portals, Context API, and Ref API
Tencent Music Tech Team
Tencent Music Tech Team
Feb 9, 2018 · Mobile Development

Understanding String Encoding in Android JNI: From Native Crash to Source Code Analysis

This article investigates an Android JNI native crash caused by misusing NewString(), examines why a custom UTF‑8‑to‑UTF‑16 conversion was used instead of NewStringUTF(), compares Dalvik and ART string encodings, reveals a Dalvik UTF‑8 conversion bug fixed in ART, and advises developers on encoding nuances across Android versions.

ARTAndroidCrash Analysis
0 likes · 26 min read
Understanding String Encoding in Android JNI: From Native Crash to Source Code Analysis
Tencent Music Tech Team
Tencent Music Tech Team
Feb 2, 2018 · Backend Development

Generating Long Event Images for QQ Music Albums: Front‑end and Server‑side Solutions, Pitfalls and Optimizations

To quickly create shareable long‑event images for QQ Music albums, the team evaluated client‑side DOM‑to‑image tools (html2canvas and SVG) that suffered from blur, incompleteness, slow rendering and oversized base64 data, then migrated rendering to the server using PhantomJS, node‑canvas and ultimately ImageMagick, whose combined script execution, mpc caching, and Q8 build provided the most balanced quality‑performance solution despite remaining operational quirks.

ImageMagickPhantomJSSVG
0 likes · 15 min read
Generating Long Event Images for QQ Music Albums: Front‑end and Server‑side Solutions, Pitfalls and Optimizations