Tagged articles
1817 articles
Page 14 of 19
Baidu App Technology
Baidu App Technology
Apr 22, 2019 · Mobile Development

How Baidu App Cut Landing‑Page Load to Sub‑Second with Hybrid Optimizations

This article details Baidu App’s systematic analysis and multi‑layer optimization of its Hybrid landing‑page, covering performance bottlenecks, a CloudHybrid server‑rendered solution, WebView pre‑creation, lazy NA loading, kernel tweaks, intelligent prefetching, and the resulting sub‑second user experience.

AndroidHybrid AppWebView
0 likes · 18 min read
How Baidu App Cut Landing‑Page Load to Sub‑Second with Hybrid Optimizations
Tencent Music Tech Team
Tencent Music Tech Team
Apr 19, 2019 · Mobile Development

Common Wrapper Classes for Android BufferQueue: Surface and SurfaceTexture

The article explains BufferQueue’s internal design and shows how Android developers typically use its wrapper classes—Surface as the producer and SurfaceTexture as the consumer—detailing their constructors, dequeue/queue workflows, lock/unlock mechanisms, and a complete SurfaceView example that illustrates buffer production and consumption by SurfaceFlinger.

AndroidBufferQueueGraphics
0 likes · 13 min read
Common Wrapper Classes for Android BufferQueue: Surface and SurfaceTexture
Tencent Music Tech Team
Tencent Music Tech Team
Apr 12, 2019 · Mobile Development

Understanding Android BufferQueue: Architecture and Internal Operations

Android’s BufferQueue, the core producer‑consumer mechanism behind the display pipeline, manages GraphicBuffer slots through explicit FREE‑DEQUEUED‑QUEUED‑ACQUIRED transitions, using shared memory and Binder to let producers (e.g., Views, MediaCodec) enqueue frames and consumers (e.g., SurfaceFlinger) acquire and release them efficiently.

AndroidBufferQueueGraphics
0 likes · 16 min read
Understanding Android BufferQueue: Architecture and Internal Operations
iQIYI Technical Product Team
iQIYI Technical Product Team
Apr 4, 2019 · Mobile Development

Why iOS Developers Should Learn Android Development: Design Principles and Core Components

iOS developers should learn Android to broaden their skill set, grasp the component‑centric design philosophy and core elements like Activities, Services, Intents and Manifest files, and stay competitive in the big‑front‑end era where cross‑platform frameworks demand fluency in both iOS and Android ecosystems.

AndroidComponent ArchitectureMobile Development
0 likes · 12 min read
Why iOS Developers Should Learn Android Development: Design Principles and Core Components
Didi Tech
Didi Tech
Apr 4, 2019 · Mobile Development

DroidAssist – A Lightweight, Configuration‑Based Java Bytecode Manipulation Framework for Android

DroidAssist, an open‑source, configuration‑driven framework from Didi, lets developers replace or augment Android Java bytecode at compile time via simple XML rules—enabling non‑intrusive mocking such as swapping SharedPreferences implementations without source changes or extra dependencies, while supporting incremental builds and rich transformation capabilities.

AndroidDroidAssistMock
0 likes · 8 min read
DroidAssist – A Lightweight, Configuration‑Based Java Bytecode Manipulation Framework for Android
Tencent TDS Service
Tencent TDS Service
Mar 28, 2019 · Mobile Development

How to Harden Android Apps: Anti‑Debugging Techniques for Java & NDK

This article explains practical anti‑debugging methods for Android applications—covering Java tools like Proguard and debugger checks, as well as NDK strategies such as ptrace, file‑node monitoring, Inotify, SO hash verification, and timing analysis—to raise reverse‑engineering difficulty.

AndroidAnti-debuggingApp Security
0 likes · 7 min read
How to Harden Android Apps: Anti‑Debugging Techniques for Java & NDK
Didi Tech
Didi Tech
Mar 28, 2019 · Mobile Development

Analysis and Mitigation of Android finalize() TimeoutException Crashes

The article examines Android crashes caused by the finalize() method exceeding its watchdog timeout, explains the underlying daemon implementation and typical causes such as long‑running finalizers, lock contention and low‑priority threads, and recommends avoiding finalize, reducing finalizable objects, or suppressing the watchdog exception as practical mitigations.

AndroidCrashTimeoutException
0 likes · 15 min read
Analysis and Mitigation of Android finalize() TimeoutException Crashes
Beike Product & Technology
Beike Product & Technology
Mar 21, 2019 · Mobile Development

Understanding LiveData and Event Bus Implementations in Android

This article examines Android message‑passing mechanisms, comparing traditional EventBus, RxBus, and Otto with the lifecycle‑aware LiveData‑based LiveEventBus, detailing their implementations, advantages, and how LiveData’s observe, observeForever, setValue, and postValue methods enable a memory‑leak‑free event bus for mobile development.

AndroidArchitecture ComponentsEventBus
0 likes · 12 min read
Understanding LiveData and Event Bus Implementations in Android
Sohu Tech Products
Sohu Tech Products
Mar 20, 2019 · Mobile Development

Comprehensive Guide to Android Permissions: Types, Groups, Dynamic Mechanisms and Compatibility Solutions

This article provides an in‑depth overview of Android permission architecture, covering permission categories, permission groups, the evolution of permission handling across API levels, special system permissions, custom permissions, common compatibility pitfalls on various OEM ROMs, and a unified design for dynamic permission requests.

AndroidDynamic PermissionMobile Development
0 likes · 19 min read
Comprehensive Guide to Android Permissions: Types, Groups, Dynamic Mechanisms and Compatibility Solutions
58 Tech
58 Tech
Mar 18, 2019 · Mobile Development

Design and Implementation of a Mobile Log Retrieval Component

This article presents the background, requirements, and technical solution of a mobile log retrieval component that ensures secure, complete, and efficient log collection, storage, and on‑demand retrieval for iOS and Android applications, including design details such as mmap‑based writing, stream compression, multi‑process handling, and a management platform.

AndroidiOSlog retrieval
0 likes · 11 min read
Design and Implementation of a Mobile Log Retrieval Component
Meituan Technology Team
Meituan Technology Team
Mar 14, 2019 · Mobile Development

Litho: Declarative Android UI Framework – Principles, Usage, and Performance

Litho, Facebook’s declarative Android UI framework, lets developers define components with immutable props and asynchronous layout, flattening view hierarchies and enabling fine‑grained reuse to boost scroll performance and cut memory usage, though it requires custom component code and lacks a real‑time preview.

AndroidDeclarative UILitho
0 likes · 15 min read
Litho: Declarative Android UI Framework – Principles, Usage, and Performance
NetEase Media Technology Team
NetEase Media Technology Team
Mar 11, 2019 · Mobile Development

How NetEase News Integrated Flutter: A Step-by-Step Hybrid Mobile Development Guide

This article details NetEase News' practical experience of gradually integrating Flutter as a module into an existing Android/iOS codebase, covering architecture, integration methods, build modes, project management, native‑Dart communication, routing strategies, debugging, encountered issues, and stability measures.

AndroidDARTFlutter
0 likes · 13 min read
How NetEase News Integrated Flutter: A Step-by-Step Hybrid Mobile Development Guide
360 Quality & Efficiency
360 Quality & Efficiency
Mar 8, 2019 · Artificial Intelligence

Implementing a Perceptual Hash Algorithm for UI Image Similarity in Android Automation

The article explains how to use a perceptual hash algorithm to generate image fingerprints, compare them to assess UI screen similarity, and integrate this method with UIAutomator for automated decision‑making in the 360 testing project, reducing computational complexity compared to naive double‑loop approaches.

Androidhash algorithmimage similarity
0 likes · 4 min read
Implementing a Perceptual Hash Algorithm for UI Image Similarity in Android Automation
Baidu App Technology
Baidu App Technology
Feb 15, 2019 · Mobile Development

Connection Optimization Techniques in Baidu App: TLS and TCP Enhancements

The Baidu App reduces connection latency by cutting TLS and TCP round‑trips through session resumption, False Start, pre‑connect, backup and composite connections, and automatic rebuilds, achieving 12‑16 % faster text and image loads and modest success‑rate gains across Android and iOS.

AndroidConnection OptimizationTCP
0 likes · 15 min read
Connection Optimization Techniques in Baidu App: TLS and TCP Enhancements
21CTO
21CTO
Jan 26, 2019 · Fundamentals

How the Google‑Oracle Java API Battle Could Reshape Software Development

Google has asked the U.S. Supreme Court to review its long‑running copyright fight with Oracle over Java APIs in Android, a case that could dramatically affect developers' ability to reuse software interfaces and shape the future of software innovation.

AndroidCopyrightFair Use
0 likes · 5 min read
How the Google‑Oracle Java API Battle Could Reshape Software Development
Beike Product & Technology
Beike Product & Technology
Jan 24, 2019 · Mobile Development

Simplifying Android Photo Capture with the PhotoTaker Utility

This article explains why traditional Android photo capture using Intents and onActivityResult is cumbersome, especially in list adapters, and introduces a Fragment‑based PhotoTaker utility that streamlines camera and gallery access, handles dynamic permissions, and works across Android versions.

AndroidCameraDynamic Permission
0 likes · 12 min read
Simplifying Android Photo Capture with the PhotoTaker Utility
58 Tech
58 Tech
Jan 23, 2019 · Mobile Development

Implementing AOP‑Based Unified Processing in Android via Gradle Transform Plugins

This article explains how to replace invasive, manually‑invoked SDKs in Android with a unified, non‑intrusive solution using Aspect‑Oriented Programming, Gradle Transform plugins, and ASM bytecode manipulation, improving control, readability, and performance for large‑scale mobile platforms.

ASMAndroidGradle
0 likes · 8 min read
Implementing AOP‑Based Unified Processing in Android via Gradle Transform Plugins
21CTO
21CTO
Jan 19, 2019 · Mobile Development

Java vs Kotlin for Android: Which Language Should You Choose?

This article compares Java and Kotlin for Android development, outlining each language's advantages, drawbacks, market share, and feature differences to help developers decide which technology best fits their projects.

AndroidKotlinMobile Development
0 likes · 6 min read
Java vs Kotlin for Android: Which Language Should You Choose?
Bitu Technology
Bitu Technology
Jan 11, 2019 · Mobile Development

Managing Android Fragment Back Stack with the FragmentOperator Library

This article explains how Android's fragment system introduced in API Level 11 can be enhanced using the open‑source FragmentOperator library to tag, group, skip, and enforce single‑instance fragments, providing Kotlin code examples and practical scenarios for mobile app navigation.

AndroidBack StackFragmentOperator
0 likes · 7 min read
Managing Android Fragment Back Stack with the FragmentOperator Library
WeChat Client Technology Team
WeChat Client Technology Team
Jan 11, 2019 · Mobile Development

Why Your Android App Stutters: Understanding and Fixing UI Lag with TraceCanary

This article explores the causes of UI stutter in Android apps, explains how frame rate and dropped frames affect perceived smoothness, and details practical profiling solutions—including TraceView, BlockCanary, ArgusAPM, and Matrix‑TraceCanary—along with implementation techniques for accurate lag detection and mitigation.

AndroidDrop FrameFrame Rate
0 likes · 17 min read
Why Your Android App Stutters: Understanding and Fixing UI Lag with TraceCanary
WeChat Client Technology Team
WeChat Client Technology Team
Dec 28, 2018 · Mobile Development

How ResourceCanary Automates Android Activity Leak and Bitmap Redundancy Detection

ResourceCanary, a Matrix sub‑module, automatically detects Activity memory leaks and redundant Bitmap objects in large‑scale Android apps by monitoring lifecycle callbacks, leveraging WeakReference queues, parsing Hprof dumps, and providing concise reference chains for fast debugging and performance optimization.

AndroidBitmapHprof
0 likes · 15 min read
How ResourceCanary Automates Android Activity Leak and Bitmap Redundancy Detection
Baidu App Technology
Baidu App Technology
Dec 26, 2018 · Mobile Development

Deep Network Optimization in Baidu App: DNS and HTTPDNS Practices

To combat carrier DNS hijacking and latency, Baidu App implements a comprehensive HTTPDNS solution that replaces system DNS with secure, BGP‑routed queries, adds layered strategies for disaster recovery, caching, IP selection, and integrates custom modules into Android’s OkHttp and iOS’s Cronet, dramatically lowering hijack rates while modestly improving response times.

AndroidDNSHTTPDNS
0 likes · 20 min read
Deep Network Optimization in Baidu App: DNS and HTTPDNS Practices
Meituan Technology Team
Meituan Technology Team
Dec 20, 2018 · Mobile Development

Componentization and Modular Event Message Bus in Meituan Android Apps

Meituan transformed its monolithic cash‑register apps into a component‑based architecture using WMRouter as the routing foundation and built a strongly‑constrained modular‑event message bus—leveraging annotations, generated interfaces, and LiveData—to ensure type‑safe, module‑scoped communication, improve code reuse, reduce coupling, and simplify maintenance.

AndroidComponentizationLiveData
0 likes · 18 min read
Componentization and Modular Event Message Bus in Meituan Android Apps
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
58 Tech
58 Tech
Dec 14, 2018 · Mobile Development

Mobile APM Performance Monitoring Application and Practice – Summary of 58 Group Technical Salon

The article summarizes the fourth 58 Group technical salon held on November 28, 2018, where experts from the Listening Cloud AI & Cloud Platform and 58 TEG Wireless Architecture shared practical experiences on mobile APM performance monitoring, startup optimization, SDK quality assurance, logging, and related code implementations.

AndroidMobile APMPerformance Monitoring
0 likes · 11 min read
Mobile APM Performance Monitoring Application and Practice – Summary of 58 Group Technical Salon
iQIYI Technical Product Team
iQIYI Technical Product Team
Dec 7, 2018 · Mobile Development

Flutter Integration for iQIYI Live Broadcast Assistant (Android & iOS)

The iQIYI Live Broadcast Assistant adopts Flutter to replace native UI layers on Android and iOS, integrating via Flutter fragments or views and AAR packages on Android and through Podfile, Xcode scripts, and FlutterViewController on iOS, achieving near‑native performance and enabling future migration of more screens to a single codebase.

AndroidFlutterIntegration
0 likes · 9 min read
Flutter Integration for iQIYI Live Broadcast Assistant (Android & iOS)
Youzan Coder
Youzan Coder
Dec 7, 2018 · Mobile Development

Cross-Platform Receipt Printing Solution for Retail Applications

The article outlines a cross‑platform receipt‑printing solution for retail apps that uses JavaScript‑based parsing, server‑editable templates, and native JS engines on iOS and Android to dynamically manage diverse printer models, reduce maintenance, and enable fast template updates across iOS, Android, and web.

AndroidJavaScript EngineMobile Development
0 likes · 13 min read
Cross-Platform Receipt Printing Solution for Retail Applications
Qunar Tech Salon
Qunar Tech Salon
Dec 6, 2018 · Mobile Development

Gradle Product Flavors for Multi‑Channel Android Packaging

This article explains how to use Gradle's productFlavors, flavorDimensions, variant filters, signing configurations, manifest placeholders and source‑set priorities to create flexible multi‑channel Android builds, comparing fast simple packaging with a fully customizable approach and providing command‑line examples.

AndroidBuildConfigGradle
0 likes · 9 min read
Gradle Product Flavors for Multi‑Channel Android Packaging
Qunar Tech Salon
Qunar Tech Salon
Dec 4, 2018 · Mobile Development

Zero‑Adapter Multi‑Item RecyclerView Library for Android

This article introduces an open‑source Android library that eliminates the need for custom RecyclerView adapters by using a ViewHolderManager system to handle multiple item types, headers, footers, click listeners, load‑more pagination, and animations, with complete code examples and usage guidelines.

AdapterAndroidMulti‑Item
0 likes · 12 min read
Zero‑Adapter Multi‑Item RecyclerView Library for Android
Beike Product & Technology
Beike Product & Technology
Nov 30, 2018 · Mobile Development

Refactoring a 2000‑Line Android Detail Page to Under 200 Lines Using MVP and Modularization

This article describes how a large, tightly‑coupled Android detail page was refactored into a clean, modular MVP architecture that splits business logic into reusable Parts, reducing the file size from over 2000 lines to fewer than 200 while improving readability, maintainability, and rendering performance.

AndroidMVPMobile Development
0 likes · 18 min read
Refactoring a 2000‑Line Android Detail Page to Under 200 Lines Using MVP and Modularization
WeChat Client Technology Team
WeChat Client Technology Team
Nov 30, 2018 · Mobile Development

How Matrix‑ApkChecker Cuts Android APK Size: A Deep Dive into Mobile Optimization

Matrix‑ApkChecker, an in‑house APM tool used by WeChat, analyzes Android APKs to identify oversized files, redundant resources, unused assets, and other inefficiencies, providing detailed reports and enabling targeted optimizations such as removing duplicate files, converting PNGs to WebP, and stripping unused libraries, ultimately reducing app size by over 130 KB.

APK OptimizationAPMAndroid
0 likes · 11 min read
How Matrix‑ApkChecker Cuts Android APK Size: A Deep Dive into Mobile Optimization
High Availability Architecture
High Availability Architecture
Nov 30, 2018 · Mobile Development

Interview with MobSDK Project Director Yu Xunjie on Mobile SDK Architecture and Product Management

In this interview, MobSDK director Yu Xunjie discusses the platform's comprehensive SDK matrix, automatic integration, 24/7 developer support, product management practices, e‑commerce solutions, short‑video capabilities, and the team's collaborative culture, offering valuable insights for mobile developers.

AndroidDeveloper SupportMobSDK
0 likes · 11 min read
Interview with MobSDK Project Director Yu Xunjie on Mobile SDK Architecture and Product Management
Xianyu Technology
Xianyu Technology
Nov 22, 2018 · Mobile Development

Flutter Initialization Process and Performance Optimization

The article explains that Flutter’s first‑page launch is slower because initialization proceeds through four stages—FlutterMain, FlutterNativeView, FlutterView, and Flutter Bundle—and shows that pre‑initializing the heavy native view, view, and bundle components can cut the initial latency to match later launches.

AndroidInitializationmobile-development
0 likes · 6 min read
Flutter Initialization Process and Performance Optimization
Youzan Coder
Youzan Coder
Nov 16, 2018 · Mobile Development

Article | Zhao Hengyu on Mobile

The article explains what a Dex file is, how it is produced from Java .class files via the dx tool after JVM compilation, and why understanding Dex is crucial for Android tasks such as APK slimming, hot‑fixes, plugin architecture, app hardening, reverse engineering and overcoming the 64K method limit.

AndroidAndroid RuntimeDEX
0 likes · 13 min read
Article | Zhao Hengyu on Mobile
21CTO
21CTO
Nov 12, 2018 · Mobile Development

Can Unified Push Standards Save Android Battery and Simplify Development?

The article explains how China's Unified Push Alliance aims to standardize Android push notifications, reduce background wake‑ups and battery drain, and simplify developers' work by enforcing the Android Green App Covenant 2.0 and consolidating push channels into a single process.

AndroidMobile DevelopmentUnified Push
0 likes · 5 min read
Can Unified Push Standards Save Android Battery and Simplify Development?
360 Quality & Efficiency
360 Quality & Efficiency
Nov 12, 2018 · Mobile Development

Understanding VSync and Measuring Smoothness on Android

This article explains Android's VSync mechanism, defines smoothness metrics such as FPS, skipped frames and smoothness, describes how VSync timing affects rendering, and provides practical testing commands like `adb shell dumpsys gfxinfo` and `adb shell dumpsys SurfaceFlinger` for measuring frame performance.

AndroidMobile DevelopmentPerformance Testing
0 likes · 8 min read
Understanding VSync and Measuring Smoothness on Android
360 Quality & Efficiency
360 Quality & Efficiency
Nov 7, 2018 · Mobile Development

Comprehensive Overview of Mobile Testing Tools and Practices

This article presents a comprehensive catalog of mobile testing tools and techniques, covering Android and iOS platforms, including UI automation frameworks, unit testing libraries, performance monitoring utilities, network simulation tools, static analysis solutions, code coverage options, cloud testing services, and continuous integration pipelines.

AndroidPerformance Monitoringautomation tools
0 likes · 6 min read
Comprehensive Overview of Mobile Testing Tools and Practices
Beike Product & Technology
Beike Product & Technology
Oct 26, 2018 · Mobile Development

Adding a Persistent Floating Button to Every Android Screen via DecorView Instead of WindowManager

The article explains why using WindowManager for floating buttons on Android is problematic across versions, demonstrates how the JD.com app adds a floating view directly to the Activity's DecorView, and provides a complete lifecycle‑aware implementation for Beike's app using ActivityLifecycleCallbacks and view injection.

ActivityLifecycleAndroidDecorView
0 likes · 6 min read
Adding a Persistent Floating Button to Every Android Screen via DecorView Instead of WindowManager
360 Tech Engineering
360 Tech Engineering
Oct 18, 2018 · Mobile Development

Analysis of RePlugin Process Management and Plugin Loading Mechanism

This article provides a detailed source‑code analysis of RePlugin's process management, covering process startup, attachBaseContext handling, IPC initialization, PMF setup, plugin installation, synchronization across processes, and the internal mechanisms for loading and updating plugins.

AndroidIPCInitialization
0 likes · 17 min read
Analysis of RePlugin Process Management and Plugin Loading Mechanism
Qizhuo Club
Qizhuo Club
Oct 16, 2018 · Mobile Development

How RePlugin Manages Processes and Loads Plugins: A Deep Source Code Walkthrough

This article dissects RePlugin's process management and plugin loading mechanisms from a source‑code perspective, detailing the startup sequence, framework configuration, IPC initialization, PMF setup, plugin installation flow, and how plugins are registered and synchronized across processes.

AndroidMobile DevelopmentRePlugin
0 likes · 17 min read
How RePlugin Manages Processes and Loads Plugins: A Deep Source Code Walkthrough
Meituan Technology Team
Meituan Technology Team
Oct 11, 2018 · Mobile Development

Logan: Meituan-Dianping Mobile Logging Framework Overview

Logan, Meituan‑Dianping’s open‑source mobile logging framework, unifies log collection, secure storage, backend processing, and visual frontend tools to capture all user‑side logs without sampling, enabling fast case‑analysis debugging across Android, iOS, mini‑programs and web, with future ML‑driven insights.

AndroidiOSlog collection
0 likes · 13 min read
Logan: Meituan-Dianping Mobile Logging Framework Overview
360 Quality & Efficiency
360 Quality & Efficiency
Sep 28, 2018 · Information Security

Mobile Packet Capture Techniques and Architecture for Android Devices

This article explains various methods for capturing network packets on Android phones—including internal tcpdump, Fiddler via Wi‑Fi hotspot, and VPNService‑based APKs—describes their drawbacks, and presents a scalable architecture that copies Wi‑Fi traffic to a server for analysis using Go's gopacket library.

AndroidFiddlerPacket Capture
0 likes · 6 min read
Mobile Packet Capture Techniques and Architecture for Android Devices
iQIYI Technical Product Team
iQIYI Technical Product Team
Sep 28, 2018 · Mobile Development

How iQIYI’s Neptune Enables Seamless Android Plugin Architecture

This article analyzes iQIYI’s Neptune plugin framework, explaining why pluginization is needed, the core technical principles of class and resource loading, lifecycle management, and how Neptune implements multi‑ClassLoader isolation, resource handling, context wrapping, and incremental updates for large‑scale Android apps.

AndroidDynamic LoadingMobile Development
0 likes · 18 min read
How iQIYI’s Neptune Enables Seamless Android Plugin Architecture
JD Tech Talk
JD Tech Talk
Sep 25, 2018 · Mobile Development

How to Obtain and Unpack WeChat Mini Program .wxapkg Files (Part 1)

This step‑by‑step tutorial explains how to locate the .wxapkg package of a WeChat Mini Program on a jail‑broken iPhone or rooted Android device, copy it to a computer, and unpack it to reveal the obfuscated JavaScript, JSON configuration, WXML, WXSS and resource files.

AndroidMiniProgramMobile
0 likes · 7 min read
How to Obtain and Unpack WeChat Mini Program .wxapkg Files (Part 1)
360 Tech Engineering
360 Tech Engineering
Sep 24, 2018 · Mobile Development

Adapting the Dual‑Instance Plugin Framework to Android P Activity Lifecycle Changes

This article explains how the highly invasive plugin framework "Dual Master" is adapted to Android P by analyzing the refactored Activity lifecycle handling, the EXECUTE_TRANSACTION message flow, and the necessary code modifications for activity placeholder replacement, restoration, and system provider hooking.

Activity LifecycleAndroidAndroid P
0 likes · 11 min read
Adapting the Dual‑Instance Plugin Framework to Android P Activity Lifecycle Changes
Qizhuo Club
Qizhuo Club
Sep 22, 2018 · Mobile Development

Adapting Android P Activity Lifecycle Hooks for the 分身大师 Plugin Framework

This article explains how Android P refactors the Activity lifecycle handling, details the shift from LAUNCH_ACTIVITY messages to EXECUTE_TRANSACTION processing, and describes the necessary code adaptations for the 分身大师 framework to support dual‑open apps on Android P.

Activity LifecycleAndroidAndroid P
0 likes · 10 min read
Adapting Android P Activity Lifecycle Hooks for the 分身大师 Plugin Framework
Beike Product & Technology
Beike Product & Technology
Sep 21, 2018 · Mobile Development

Optimizing Image Loading in the Beike Android App: Replacing Picasso with Glide to Prevent OOM

The article analyzes an OOM issue in the Beike Android app caused by large image memory usage, compares Picasso and Glide memory footprints, describes the refactoring effort required to switch libraries, explains Glide's two‑level caching mechanism, and highlights the performance and stability benefits for pre‑Android 8.0 devices.

AndroidGlideImage Loading
0 likes · 4 min read
Optimizing Image Loading in the Beike Android App: Replacing Picasso with Glide to Prevent OOM
360 Quality & Efficiency
360 Quality & Efficiency
Sep 21, 2018 · Mobile Development

Common ADB Commands and Troubleshooting Guide for Android Development

This article provides a comprehensive overview of frequently used Android Debug Bridge (ADB) commands, explains how to troubleshoot common connection and permission issues, and demonstrates how to manage apps, files, system information, and device operations directly from the command line.

ADBAndroidMobile Development
0 likes · 8 min read
Common ADB Commands and Troubleshooting Guide for Android Development
WeChat Client Technology Team
WeChat Client Technology Team
Sep 21, 2018 · Mobile Development

Why MMKV Is the Fastest Mobile Key‑Value Store for iOS and Android

MMKV is a high‑performance, mmap‑based key‑value library open‑sourced by Tencent, offering cross‑platform support for iOS and Android with features like multi‑process sharing, anonymous memory, AES encryption, and superior read/write speeds compared to SharedPreferences, NSUserDefaults, and SQLite, as demonstrated by benchmark tests.

AndroidMMKViOS
0 likes · 9 min read
Why MMKV Is the Fastest Mobile Key‑Value Store for iOS and Android
Meituan Technology Team
Meituan Technology Team
Sep 20, 2018 · Mobile Development

Platformized Code Reuse in Meituan Waimai Android: Challenges and Solutions

Meituan Waimai Android unified the divergent codebases of the standalone Waimai app and the Waimai channel in the Meituan app by introducing a layered architecture—base services, components, business modules, and host—combined with Gradle flavor and a fine‑grained “pins” project, achieving 88 % code reuse, over 70 % productivity improvement, and paving the way for broader platform reuse.

AndroidMobile Developmentcode-reuse
0 likes · 17 min read
Platformized Code Reuse in Meituan Waimai Android: Challenges and Solutions
转转QA
转转QA
Sep 5, 2018 · Mobile Development

CrossPlatformPoint: A Cross‑Platform Data‑Point Testing Tool for the ZhaiZhai App

The article introduces CrossPlatformPoint, a cross‑platform data‑point testing tool for the ZhaiZhai app, outlines the challenges of mobile event‑tracking, presents the tool’s features—including Android and iOS support, server‑side monitoring, keyword search, and offline testing—and provides detailed usage instructions and upgrade tips.

Androidcross‑platformiOS
0 likes · 5 min read
CrossPlatformPoint: A Cross‑Platform Data‑Point Testing Tool for the ZhaiZhai App
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)
Qunar Tech Salon
Qunar Tech Salon
Aug 28, 2018 · Mobile Development

QACR: A Comprehensive Mobile Crash Reporting and Monitoring System at Qunar

The article describes QACR, Qunar's end‑to‑end mobile crash reporting platform that collects Android, iOS, ANR, and performance anomalies, enriches them with detailed runtime data, performs deep backend analysis, provides real‑time alerts, automatic bug assignment, and multi‑level reporting to improve mobile app stability and user experience.

AndroidCrash ReportingQACR
0 likes · 7 min read
QACR: A Comprehensive Mobile Crash Reporting and Monitoring System at Qunar
Beike Product & Technology
Beike Product & Technology
Aug 24, 2018 · Mobile Development

How to Accurately Track Card Exposure in Android RecyclerView

This article explains the shortcomings of hard‑coded exposure tracking in the Beike Zhaofang Android app, benchmarks industry practices, proposes a flexible API‑driven strategy, and provides a complete RecyclerView scroll‑listener implementation with a double‑ended queue to record precise card visibility durations.

APIAndroidExposure Tracking
0 likes · 7 min read
How to Accurately Track Card Exposure in Android RecyclerView
Meituan Technology Team
Meituan Technology Team
Aug 23, 2018 · Mobile Development

WMRouter: An Android Routing Framework for Componentized Development

WMRouter is an open‑source Android routing framework, originating from Meituan Waimai, that provides flexible URI dispatch and a ServiceLoader inspired by Java SPI, enabling component‑based navigation, dynamic registration, interceptors, singleton management, and decoupled communication for hybrid, multi‑module, and instrumented app architectures.

AndroidComponentizationMobile Development
0 likes · 21 min read
WMRouter: An Android Routing Framework for Componentized Development
360 Tech Engineering
360 Tech Engineering
Aug 21, 2018 · Mobile Development

Testing Power Consumption of Push SDK on Mobile Devices

This article explains how to prepare, execute, and analyze power and network traffic consumption tests for push SDKs on mobile devices, covering SDK separation, key power‑draining operations, methods to retrieve traffic data via PID and UID, common issues, and practical solutions.

AndroidNetwork Trafficpower consumption
0 likes · 7 min read
Testing Power Consumption of Push SDK on Mobile Devices
JD Tech
JD Tech
Aug 21, 2018 · Mobile Development

Sieve – Android Memory Analysis System: Background, Implementation, and Techniques

This article introduces the Sieve Android memory analysis system, explains why existing tools like LeakCanary and MAT fall short, describes how heap dump files are parsed, GC Roots identified, dominator trees generated, retained sizes calculated, and reference chains constructed to help developers locate memory leaks and OOM causes.

AndroidHeap DumpRetained Size
0 likes · 14 min read
Sieve – Android Memory Analysis System: Background, Implementation, and Techniques
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
Tongcheng Travel Technology Center
Tongcheng Travel Technology Center
Aug 10, 2018 · Mobile Development

From Vue to React Native: A Complete Guide to Building a Delivery App on Android

This article shares a step‑by‑step experience of migrating a Vue‑based project to React Native for an Android delivery‑chain app, covering environment setup, debugging, common pitfalls, routing, state management, storage, hot updates, and practical code snippets to help newcomers get started quickly.

AndroidMobile DevelopmentReact Native
0 likes · 9 min read
From Vue to React Native: A Complete Guide to Building a Delivery App on Android
JD Retail Technology
JD Retail Technology
Aug 3, 2018 · Mobile Development

Kotlin Overview, Key Features, and Integration Practices in JD Mobile Development

This article introduces Kotlin as a JVM‑based language, explains why it is chosen for Android development, details its main features such as null safety, data classes, and lambda expressions, compares compilation performance with Java, and provides practical JD‑specific integration steps, configuration tips, common pitfalls, and real‑world usage examples.

AndroidData ClassesGradle
0 likes · 13 min read
Kotlin Overview, Key Features, and Integration Practices in JD Mobile Development
Meituan Technology Team
Meituan Technology Team
Aug 2, 2018 · Mobile Development

Using Jenkins Pipeline for Multi‑Project Android Build Automation

The team replaced numerous free‑style Jenkins jobs with a single Pipeline‑as‑code project that pulls a shared script from SCM, uses UI parameters and project‑specific configs to run a standardized Android build flow—including React Native bundle download—providing versioned, maintainable, and visualized multi‑project CI.

AndroidGradleJenkins
0 likes · 18 min read
Using Jenkins Pipeline for Multi‑Project Android Build Automation
JD Tech
JD Tech
Aug 2, 2018 · Mobile Development

Kotlin Overview: Features, Null Safety, Data Classes, Interoperability, and JD Mobile Development Integration

This article introduces Kotlin as a JVM‑based language, explains why it is chosen for Android development, details its concise syntax, null‑safety, data‑class and lambda features, demonstrates interoperability with Java, analyzes compilation performance, and provides practical JD mobile‑app integration steps and common troubleshooting tips.

AndroidData ClassesKotlin
0 likes · 13 min read
Kotlin Overview: Features, Null Safety, Data Classes, Interoperability, and JD Mobile Development Integration
360 Tech Engineering
360 Tech Engineering
Jul 27, 2018 · Fundamentals

Detailed Analysis of the ELF File Format (Part 2)

This article provides an in‑depth overview of the ELF file format, describing its headers, section and program tables, symbol structures, and demonstrates how to use this knowledge to locate and hook functions in Android native libraries such as libmedia.so.

AndroidBinary FormatELF
0 likes · 7 min read
Detailed Analysis of the ELF File Format (Part 2)
Beike Product & Technology
Beike Product & Technology
Jul 27, 2018 · Mobile Development

Eliminating UI Lag in a High‑End Android App: Overdraw, CPU, and Scroll Optimization

After noticing persistent UI stutter on a flagship Android real‑estate app even on 6 GB devices, the author analyzes root causes—CPU overload, GPU overdraw, and memory pressure—then details step‑by‑step fixes using developer options, layout cleanup, and TraceView to achieve sub‑16 ms frame rendering.

AndroidMobile DevelopmentOverdraw
0 likes · 7 min read
Eliminating UI Lag in a High‑End Android App: Overdraw, CPU, and Scroll Optimization
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 ProcessingMobile Development
0 likes · 20 min read
Understanding Android Nine‑Patch Images: Creation, Usage, and Internals
Meituan Technology Team
Meituan Technology Team
Jul 26, 2018 · Mobile Development

Why LiveDataBus Beats EventBus and RxBus for Android Message Passing

This article examines Android’s evolving message‑passing mechanisms, comparing traditional EventBus and RxBus with the newer LiveDataBus, detailing their architectures, code implementations, limitations such as pre‑subscription message delivery, and presents a refined LiveDataBus solution that leverages lifecycle‑aware LiveData to avoid memory leaks.

AndroidArchitecture ComponentsEventBus
0 likes · 21 min read
Why LiveDataBus Beats EventBus and RxBus for Android Message Passing
21CTO
21CTO
Jul 20, 2018 · Mobile Development

How iQIYI Optimized Android App Startup: Techniques & Lessons

This article explains iQIYI's Android app launch process, measurement methods, optimization strategies, and monitoring practices that together reduced startup time by up to 40%, offering practical insights for mobile developers seeking faster app launches.

AndroidMobile DevelopmentSystrace
0 likes · 13 min read
How iQIYI Optimized Android App Startup: Techniques & Lessons
iQIYI Technical Product Team
iQIYI Technical Product Team
Jul 20, 2018 · Mobile Development

Android Process and Thread Scheduling: OOM Adjustment, Priority Levels, and Scheduling Groups

The article explains Android’s process lifecycle and how component states translate into OOM adjustments, LowMemoryKiller levels, scheduling groups, and Linux thread priorities, detailing the mapping of importance levels to oom_score_adj, schedGroup, procState, and cgroup policies, with code examples and a bug case.

AndroidLowMemoryKillerOOM Adjustment
0 likes · 23 min read
Android Process and Thread Scheduling: OOM Adjustment, Priority Levels, and Scheduling Groups
iQIYI Technical Product Team
iQIYI Technical Product Team
Jul 20, 2018 · Fundamentals

Understanding Linux Process Scheduling and Android Thread Management

The article explains why an Android app’s main thread can be blocked by detailing Linux process versus thread concepts, the Completely Fair Scheduler’s priority and vruntime calculations, real‑time and nice priorities, and how Android uses cgroups and SchedPolicy enums to allocate CPU shares among foreground, background, and system threads.

AndroidLinuxThread Management
0 likes · 20 min read
Understanding Linux Process Scheduling and Android Thread Management
iQIYI Technical Product Team
iQIYI Technical Product Team
Jul 20, 2018 · Mobile Development

Android App Startup Optimization: Process, Measurement, and Performance Improvements

The article details iQIYI’s systematic approach to Android app startup optimization—analyzing cold‑start processes, measuring latency with SysTrace and adb, applying process‑aware initialization, async work off the UI thread, layout simplifications, delayed services, and automated tracing—to achieve up to 40 % launch‑time reduction and establish continuous monitoring.

ADBAndroidSystrace
0 likes · 15 min read
Android App Startup Optimization: Process, Measurement, and Performance Improvements
JD Tech
JD Tech
Jul 20, 2018 · Mobile Development

Comprehensive Guide to Android Debug Bridge (ADB) Commands and Their Practical Uses

This article provides an extensive overview of Android Debug Bridge (ADB), detailing its architecture, core components, and a wide range of commands—including shell am, pm, appops, wm, settings, input, dumpsys, logcat, push/pull, screencap, and screenrecord—illustrated with examples and code snippets for effective mobile testing and automation.

ADBAndroidMobile Development
0 likes · 23 min read
Comprehensive Guide to Android Debug Bridge (ADB) Commands and Their Practical Uses
JD Retail Technology
JD Retail Technology
Jul 18, 2018 · Mobile Development

Understanding Android Paging Library: Architecture, Components, and Usage

This article explains the Android Paging Library introduced in Google I/O 2018, covering its background, architecture, core components such as DataSource and PagedList, loading flow, and step‑by‑step usage with Gradle, LiveData, and RecyclerView adapters for efficient pagination in mobile apps.

AndroidArchitecture ComponentsDataSource
0 likes · 9 min read
Understanding Android Paging Library: Architecture, Components, and Usage
JD Tech
JD Tech
Jul 17, 2018 · Mobile Development

Understanding Android Paging Library: Architecture, Components, and Usage

This article introduces Android Jetpack's Paging Library, explains its architecture—including DataSource, PagedList, and adapters—details the data loading flow, and provides step‑by‑step guidance on integrating the library into a mobile app using Gradle, LiveData, and RecyclerView.

AndroidDataSourceMobile Development
0 likes · 9 min read
Understanding Android Paging Library: Architecture, Components, and Usage
iQIYI Technical Product Team
iQIYI Technical Product Team
Jul 16, 2018 · Mobile Development

Analyzing and Splitting Android APK Packages with dexSplitter

The article explains how iQiyi created the open‑source dexSplitter tool to analyze Android APK composition, generate per‑module sub‑dex files using ProGuard/R8 mappings, and continuously monitor size growth, offering clear module‑level size statistics despite a modest overall dex size increase.

APKAndroidApp Size Analysis
0 likes · 9 min read
Analyzing and Splitting Android APK Packages with dexSplitter