Tagged articles

Android

1846 articles · Page 14 of 19
Amap Tech
Amap Tech
Jul 9, 2019 · Mobile Development

Using Java Bytecode for Android Module Dependency Analysis

The article explains how analyzing Java bytecode with tools such as Javassist during the Android Gradle transform phase yields precise, method‑level module dependency data—overcoming the limitations of Gradle trees, import scans, and IDE analysis—and provides a reliable way to map and enforce clean dependency structures in large Android codebases.

AndroidBytecodeJava
0 likes · 10 min read
Using Java Bytecode for Android Module Dependency Analysis
Didi Tech
Didi Tech
Jul 5, 2019 · Mobile Development

Understanding and Optimizing Android Activity Startup Performance

Android activity startup latency stems from three phases—Pause, Launch, and Render—so optimizing only onCreate often leaves perceived delays; developers can measure each phase via system logs or AOP hooks (Instrumentation, Looper‑Printer, or ActivityThread handler) to pinpoint and reduce bottlenecks.

ActivityAndroidInstrumentation
0 likes · 21 min read
Understanding and Optimizing Android Activity Startup Performance
iQIYI Technical Product Team
iQIYI Technical Product Team
Jul 5, 2019 · Mobile Development

Exploration of Android App Bundle Dynamic Loading with the Qigsaw Framework

Qigsaw, iQIYI’s open‑source framework released in 2019, enables low‑risk dynamic loading of Android App Bundle split APKs across all components and processes, offering Play‑Core‑compatible APIs, single‑hook stability, resource merging, and Tinker‑based hot updates, thereby simplifying plugin integration and reducing app size.

AndroidApp BundleDynamic Loading
0 likes · 18 min read
Exploration of Android App Bundle Dynamic Loading with the Qigsaw Framework
Ctrip Technology
Ctrip Technology
Jul 3, 2019 · Mobile Development

Evolution and Refactoring of Ctrip Hotel Query Home Page: From Version 1.0 to 3.0

This article describes how Ctrip's hotel query home page evolved through three architectural versions—1.0, 2.0, and 3.0—detailing the motivations, design choices, performance considerations, and the final unified module‑based structure that leverages VLayout for improved scalability and maintainability.

AndroidPerformanceVLayout
0 likes · 8 min read
Evolution and Refactoring of Ctrip Hotel Query Home Page: From Version 1.0 to 3.0
Seewo Tech Circle
Seewo Tech Circle
Jun 25, 2019 · Mobile Development

From Monolithic Android App to Modular Architecture: Lessons and Strategies

This article recounts the evolution of the Class Optimization Master Android project—from a dual‑end, no‑design prototype to an MVP‑based implementation and finally a modularized architecture—highlighting pain points, solutions, and practical steps for improving code boundaries, build times, and reusable modules.

AndroidMVPModularization
0 likes · 12 min read
From Monolithic Android App to Modular Architecture: Lessons and Strategies
58 Tech
58 Tech
Jun 24, 2019 · Mobile Development

WAPM Performance Monitoring SDK: Architecture and Implementation for Android Mobile Apps

This article introduces the WAPM performance monitoring SDK for Android, detailing its four‑layer architecture, memory‑leak detection via LeakCanary, UI thread jank analysis using Looper callbacks, network request monitoring through framework hooks, and page load timing via activity and view lifecycle instrumentation.

AndroidPerformance MonitoringUI Jank
0 likes · 6 min read
WAPM Performance Monitoring SDK: Architecture and Implementation for Android Mobile Apps
iQIYI Technical Product Team
iQIYI Technical Product Team
Jun 21, 2019 · Mobile Development

xCrash: An Open-Source Android Crash Capture SDK Overview

xCrash is an open‑source Android SDK that reliably captures both Java and native crashes across Android 4.0‑9.0 and multiple CPU architectures by using async‑signal‑safe handlers, a dedicated dumper process, and pre‑allocated resources to generate tombstone‑style dump files without root, offering richer diagnostics than BreakPad and extensible future features.

AndroidCrash ReportingNative
0 likes · 17 min read
xCrash: An Open-Source Android Crash Capture SDK Overview
Qunar Tech Salon
Qunar Tech Salon
Jun 20, 2019 · Information Security

Enhancing Android App Security by Packing Native Libraries (SO) – Loading Process Analysis and Protection Techniques

This article examines the Android shared library (SO) loading mechanism, identifies security vulnerabilities, and presents a method of packing the SO to hinder reverse engineering, detailing each loading step, challenges across Android versions, and before‑after protection results.

AndroidNative LibraryReverse Engineering
0 likes · 4 min read
Enhancing Android App Security by Packing Native Libraries (SO) – Loading Process Analysis and Protection Techniques
Baidu Intelligent Testing
Baidu Intelligent Testing
Jun 14, 2019 · Mobile Development

Understanding Video SDK Architecture, Playback Principles, and Testing Practices

This article explains the evolution and advantages of video SDKs, details the core playback pipeline—including decoding, rendering, and audio‑video synchronization—covers cross‑platform implementation on Android, iOS and PC, and shares practical testing experiences and performance‑optimization techniques.

AndroidAudio-Video SyncFFmpeg
0 likes · 13 min read
Understanding Video SDK Architecture, Playback Principles, and Testing Practices
Amap Tech
Amap Tech
Jun 12, 2019 · Mobile Development

Accelerating Stack Trace for Android Native Memory Leak Detection Using TLS and Compiler Instrumentation

By instrumenting every C++ function with GCC’s ‑finstrument‑functions and recording call addresses in per‑thread TLS, the team built a fast, lock‑free stack‑trace mechanism that outperforms libunwind by up to 60×, integrates with Android’s malloc_debug, and powers an automated native‑memory‑leak detection framework with web‑based analysis.

AndroidNativeTLS
0 likes · 11 min read
Accelerating Stack Trace for Android Native Memory Leak Detection Using TLS and Compiler Instrumentation
58 Tech
58 Tech
Jun 6, 2019 · Mobile Development

Design and Architecture of the 58 IM SDK for Multi‑Platform Mobile Applications

The article details the background, design goals, layered architecture, message flow, UI customization mechanisms, and key class structures of the 58 Group's cross‑platform IM SDK, illustrating how it supports iOS, Android, Web, and H5 with extensible C++ and UIKit components.

AndroidC++UI customization
0 likes · 12 min read
Design and Architecture of the 58 IM SDK for Multi‑Platform Mobile Applications
Sohu Tech Products
Sohu Tech Products
Jun 5, 2019 · Mobile Development

Understanding RxJava2: Core Concepts, Thread Scheduling, Backpressure, Transformers, and Hot vs Cold Observables

This article provides a comprehensive overview of RxJava2 for Android, covering its observer types, backpressure strategies, thread‑scheduling transformers, the compose() operator, differences between compose and flatMap, and the distinction between hot and cold observables with practical code examples.

AndroidObservablesReactive Programming
0 likes · 6 min read
Understanding RxJava2: Core Concepts, Thread Scheduling, Backpressure, Transformers, and Hot vs Cold Observables
Qunar Tech Salon
Qunar Tech Salon
Jun 4, 2019 · Mobile Development

Litho: Facebook’s Declarative Android UI Framework – Overview, Usage, and Principles

Litho is a Facebook‑originated declarative framework for building high‑performance Android UI, replacing XML layouts with component‑based code, leveraging Yoga for async layout, flattening view hierarchies, and offering fine‑grained reuse to dramatically improve RecyclerView scrolling speed and memory consumption.

AndroidComponentDeclarative UI
0 likes · 17 min read
Litho: Facebook’s Declarative Android UI Framework – Overview, Usage, and Principles
Tencent Music Tech Team
Tencent Music Tech Team
May 31, 2019 · Mobile Development

Kotlin Coroutine Failure After Resource Obfuscation in Android APK

The article explains how resource obfuscation with andResGuard removes META‑INF service files needed for the Android Main dispatcher, causing coroutines to silently fail after withContext calls, and shows that preserving the META‑INF/services directory restores proper coroutine execution.

APKAndroidCoroutines
0 likes · 8 min read
Kotlin Coroutine Failure After Resource Obfuscation in Android APK
Sohu Tech Products
Sohu Tech Products
May 29, 2019 · Mobile Development

Introduction to AspectJ for Android Development and Gradle Plugin Integration

This article provides a comprehensive guide to using AspectJ for aspect‑oriented programming in Android, covering core concepts such as aspects, join points, pointcuts and advice, demonstrating matching expressions, custom annotations, and detailing step‑by‑step integration with Gradle plugins and plugin implementation for seamless code weaving.

AOPAndroidAspectJ
0 likes · 16 min read
Introduction to AspectJ for Android Development and Gradle Plugin Integration
360 Tech Engineering
360 Tech Engineering
May 27, 2019 · Mobile Development

Common Patterns for H5 and Native App Interaction

This article explains common H5‑to‑native app interaction patterns, detailing basic interfaces, one‑way and two‑way calls, implementation approaches, and the considerations for whether the H5 or the native side leads the integration, with code examples for Android and iOS.

AndroidH5JavaScript Bridge
0 likes · 10 min read
Common Patterns for H5 and Native App Interaction
Sohu Tech Products
Sohu Tech Products
May 22, 2019 · Mobile Development

Kotlin 1.3.30 Release: New Features, KAPT Incremental Compilation, Unsigned Array Extensions, Kotlin/Native Enhancements, and IDE Support

Version 1.3.30 of Kotlin introduces Apple support, stable coroutines, KAPT incremental annotation processing, unsigned array extensions, Kotlin/Native platform expansions, and IDE improvements across IntelliJ, CLion, and AppCode, while also detailing configuration steps and performance optimizations for Android developers.

AndroidIDE SupportKapt
0 likes · 8 min read
Kotlin 1.3.30 Release: New Features, KAPT Incremental Compilation, Unsigned Array Extensions, Kotlin/Native Enhancements, and IDE Support
NetEase Media Technology Team
NetEase Media Technology Team
May 20, 2019 · Mobile Development

Aspect-Oriented Programming (AOP) and Its Application in Android Client Development

The article introduces Aspect‑Oriented Programming, explains its core concepts and compile‑time versus runtime models, and demonstrates how Android developers can employ compile‑time AOP (using AspectJ) to implement method‑level hot‑fixes, performance monitoring, logging, and other cross‑cutting features while weighing benefits, overhead, and optimization strategies.

AOPAndroidAspectJ
0 likes · 14 min read
Aspect-Oriented Programming (AOP) and Its Application in Android Client Development
Qunar Tech Salon
Qunar Tech Salon
May 9, 2019 · Mobile Development

Deep Dive into ASM for Android Bytecode Instrumentation and OkHttp Monitoring

This article explains how to use ASM to instrument Android bytecode for automatic click event tracking and OkHttp network request monitoring, detailing the Transform API, AOP/ASM techniques, custom ClassVisitor and MethodVisitor implementations, code injection strategies, and provides a complete open‑source example on GitHub.

AOPASMAndroid
0 likes · 13 min read
Deep Dive into ASM for Android Bytecode Instrumentation and OkHttp Monitoring
dbaplus Community
dbaplus Community
May 6, 2019 · Mobile Development

How Ele.me’s Rider App Achieves End‑to‑End Business Availability Monitoring

This article details Ele.me Logistics' mobile‑app monitoring architecture—E‑Monitor, TimeBomb, Dogger, and EDW—explaining how each layer collects, visualizes, and analyzes business‑level availability data, and showcases a real‑world debugging case that leveraged the stack to resolve an HTTP/2 connectivity bug.

AndroidLog analysisbusiness availability
0 likes · 16 min read
How Ele.me’s Rider App Achieves End‑to‑End Business Availability Monitoring
Tencent IMWeb Frontend Team
Tencent IMWeb Frontend Team
May 6, 2019 · Mobile Development

How We Doubled React Native First‑Screen Speed in Tencent’s Penguin Tutoring App

This article details the migration of Tencent's Penguin Tutoring app from the Plato framework to React Native, outlines first‑screen performance bottlenecks, presents caching and rendering optimizations, redesigns the carousel component to eliminate flicker, and shares a collection of RN pitfalls and their solutions.

AndroidCarouselmobile development
0 likes · 16 min read
How We Doubled React Native First‑Screen Speed in Tencent’s Penguin Tutoring App
Ctrip Technology
Ctrip Technology
Apr 25, 2019 · Mobile Development

Android Componentization Architecture Practice in the Smart Train Ticket Project

This article describes how the Smart Train Ticket Android team adopted a componentization architecture—splitting base libraries and business modules, configuring independent and integrated builds, handling inter‑module communication, and solving manifest and multi‑flavor packaging challenges—to reduce coupling and dramatically improve build performance.

AndroidBuild OptimizationComponentization
0 likes · 12 min read
Android Componentization Architecture Practice in the Smart Train Ticket Project
Youzan Coder
Youzan Coder
Apr 23, 2019 · Mobile Development

Modular Architecture and Componentization for Youzan Android Applications

Youzan refactored its Android Micro Mall and Retail apps from a monolithic codebase into a service‑oriented, componentized architecture where each business module inherits a BaseModule with its own lifecycle, common utilities are extracted into lightweight libraries, and a custom Gradle plugin enables independent building, publishing, and rapid iteration.

AndroidGradleModularization
0 likes · 25 min read
Modular Architecture and Componentization for Youzan Android Applications
Didi Tech
Didi Tech
Apr 23, 2019 · Mobile Development

DoraemonKit: A Comprehensive Mobile Development Debugging Toolkit

DoraemonKit is a comprehensive mobile debugging toolkit for iOS and Android, offering built‑in tools for app information, sandbox browsing, mock GPS, crash viewing, performance monitoring (FPS, CPU, memory, network), visual inspection, and easy integration via CocoaPods or Gradle, plus extensibility for custom modules.

AndroidDoraemonKitdevelopment toolkit
0 likes · 9 min read
DoraemonKit: A Comprehensive Mobile Development Debugging Toolkit
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 Appbackend rendering
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.

AndroidBufferQueueC++
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 ArchitectureDesign Principles
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.

AOPAndroidBytecode
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.

AndroidCrashGC
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 OptimizationNetwork Performance
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.

AndroidFair UseGoogle
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.

AOPASMAndroid
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.

AndroidJavaKotlin
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.

AndroidLoggingMobile APM
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 engineiOS
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.

AndroidMulti‑ItemPagination
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.

AndroidMVPModularization
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.

AndroidUnified Pushbattery optimization
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.

Androidfpsmobile development
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.

AndroidRePluginmobile development
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.

AndroidFiddlerVPNService
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.

AndroidClassLoaderDynamic Loading
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.

AndroidMiniProgramReverseEngineering
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
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.

AndroidModularizationcode 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)