Tagged articles

Android

1846 articles · Page 11 of 19
Watermelon Video Tech Team
Watermelon Video Tech Team
Dec 14, 2020 · Mobile Development

Tailor: An Open‑Source Android Memory Snapshot Trimming and Compression Tool for OOM Governance

Tailor is an open‑source Android memory‑snapshot trimming and compression tool developed by the Xigua Video team that dramatically reduces OOM occurrences by over 95% through efficient snapshot cropping, zlib compression, and seamless integration with the dump process, while preserving essential debugging information.

AndroidHprofMemory Management
0 likes · 17 min read
Tailor: An Open‑Source Android Memory Snapshot Trimming and Compression Tool for OOM Governance
JD Retail Technology
JD Retail Technology
Dec 9, 2020 · Mobile Development

Building and Optimizing a First‑Screen Performance Monitoring System for Android Apps (JD Mall Case Study)

This article describes how JD Mall’s Android team designed a custom first‑screen latency monitoring system, collected lifecycle, network and rendering metrics via AOP and configuration, and applied a series of optimizations—including plugin preloading, network parallelism, layout inflation tricks, and hardware acceleration—to achieve over 30% faster app start‑up and significantly reduced user churn.

AOPAndroidApp Optimization
0 likes · 17 min read
Building and Optimizing a First‑Screen Performance Monitoring System for Android Apps (JD Mall Case Study)
The Dominant Programmer
The Dominant Programmer
Dec 9, 2020 · Mobile Development

How to Use an Adapter to Populate a RecyclerView in Android

This article walks through the complete process of adding a RecyclerView to an Android project, including the required support library dependency, creating the layout and item XML files, implementing a custom Adapter with ViewHolder, overriding the essential methods, and updating the view with a dynamic data source such as recorded audio file paths.

AndroidRecyclerViewViewHolder
0 likes · 12 min read
How to Use an Adapter to Populate a RecyclerView in Android
NetEase Cloud Music Tech Team
NetEase Cloud Music Tech Team
Dec 9, 2020 · Mobile Development

Seamless Video Playback Across Activities in NetEase Cloud Music: MediaPlayer Rebinding and Mini‑Window Solutions

NetEase Cloud Music’s 8.0 redesign enables seamless video playback across Activities by rebinding MediaPlayer instances to new TextureViews via AIDL, using a process‑pooled player architecture, while also offering simpler alternatives such as animated fake page switches, seek‑based reinitialization, and application‑context view reuse.

AIDLActivityAndroid
0 likes · 13 min read
Seamless Video Playback Across Activities in NetEase Cloud Music: MediaPlayer Rebinding and Mini‑Window Solutions
The Dominant Programmer
The Dominant Programmer
Dec 7, 2020 · Mobile Development

How to Perform CRUD on SQLite with Android Room ORM

This article walks through using Google’s Room ORM in an Android project to create a SQLite database, define entities and DAOs, set up a singleton database instance, and implement add, query, fuzzy search, and delete operations via a simple UI.

AndroidCRUDORM
0 likes · 11 min read
How to Perform CRUD on SQLite with Android Room ORM
Ctrip Technology
Ctrip Technology
Dec 3, 2020 · Mobile Development

Applying Kotlin Coroutines and Jetpack MVVM in Ctrip Flight App: Architecture, Implementation, and Production Challenges

This article explains how Ctrip's flight Android app refactored its home page using Kotlin coroutines, Jetpack AAC components, and MVVM architecture, detailing the technical and business background, code patterns, production issues, and lessons learned for large‑scale mobile development.

AndroidCoroutinesJetpack
0 likes · 20 min read
Applying Kotlin Coroutines and Jetpack MVVM in Ctrip Flight App: Architecture, Implementation, and Production Challenges
The Dominant Programmer
The Dominant Programmer
Dec 3, 2020 · Mobile Development

Implementing Android App Update with SpringBoot Backend and Vue Frontend

The article walks through a complete Android app update workflow where an administrator uploads an APK via a Vue front‑end to a SpringBoot service, the backend stores version data, and the Android client periodically checks for newer versions, downloads the APK using a Service and OkHttp, and installs it automatically.

AndroidApp UpdateFileProvider
0 likes · 37 min read
Implementing Android App Update with SpringBoot Backend and Vue Frontend
NetEase Cloud Music Tech Team
NetEase Cloud Music Tech Team
Dec 2, 2020 · Mobile Development

Why React Native Custom Views Need Explicit Width/Height and How to Fix It

This article analyzes why custom Android Views embedded in React Native often fail to render without explicit width and height, explores the underlying RN root layout, measureSpec, and Yoga engine mechanisms, and provides practical solutions such as FrameCallback registration and layout updates to ensure proper rendering.

AndroidCustom ViewLayout
0 likes · 12 min read
Why React Native Custom Views Need Explicit Width/Height and How to Fix It
Qunar Tech Salon
Qunar Tech Salon
Dec 1, 2020 · Information Security

Bypassing and Defending HTTPS Certificate Verification in Android Apps

This article explains the mechanisms of HTTPS certificate verification in Android, outlines various implementation methods, demonstrates how to bypass verification using tools like JustTrustMe and SSLkiller, and provides detection and protection strategies for developers to safeguard their apps against such attacks.

AndroidCertificate VerificationHTTPS
0 likes · 9 min read
Bypassing and Defending HTTPS Certificate Verification in Android Apps
The Dominant Programmer
The Dominant Programmer
Nov 30, 2020 · Mobile Development

How to Implement Five Common Android Dialog Types

This tutorial walks through creating five typical Android dialogs—normal, list‑based, custom‑view, progress bar, and date picker—by adding buttons to a layout, writing click handlers, and using AlertDialog, ProgressDialog, and DatePickerDialog with complete code examples and screenshots.

AlertDialogAndroidCustomView
0 likes · 8 min read
How to Implement Five Common Android Dialog Types
360 Tech Engineering
360 Tech Engineering
Nov 30, 2020 · Mobile Development

Comprehensive Guide to Android App Packet Capture Using an Emulator, ADB, Charles, and Fiddler

This tutorial walks through a complete Android app packet‑capture workflow—installing a Wi‑Fi‑proxy‑compatible emulator, deploying the app via UI or ADB, configuring Charles or Fiddler as a debugging proxy, handling HTTPS certificates for Android 7+, and capturing traffic for functional, security, or development testing.

ADBAndroidCharles Proxy
0 likes · 8 min read
Comprehensive Guide to Android App Packet Capture Using an Emulator, ADB, Charles, and Fiddler
Alibaba Cloud Developer
Alibaba Cloud Developer
Nov 27, 2020 · Mobile Development

How Mobile DevOps Transforms App Delivery: Challenges and Solutions

This article explains how DevOps principles are adapted for mobile app delivery, detailing the unique challenges of fragmented build environments, device diversity, longer release cycles, and massive scale, and describes Alibaba Cloud’s EMAS Mobile DevOps solution, its architecture, security, scalability, and future roadmap.

AndroidCI/CDMobile DevOps
0 likes · 21 min read
How Mobile DevOps Transforms App Delivery: Challenges and Solutions
DeWu Technology
DeWu Technology
Nov 25, 2020 · Mobile Development

High-Availability Log Retrieval for Mobile Debugging

The session introduces a high‑availability log retrieval platform that tackles mobile debugging challenges—device fragmentation, unstable networks, and delayed logs—by automating command dispatch, client uploads, and notifications, employing a four‑role architecture with real‑time push, fallback mechanisms, and SDKs for logging and retrieval, while planning broader app support, multi‑user tasks, and richer log types.

AndroidSDKhigh availability
0 likes · 6 min read
High-Availability Log Retrieval for Mobile Debugging
JD Retail Technology
JD Retail Technology
Nov 23, 2020 · Operations

Automated Monitoring and Validation of JD.com Android Channel Packages

This article describes how JD.com implements an automated system to monitor Android channel packages across multiple app stores, using a PHP/CodeIgniter front‑end, Java services with Selenium, Walle for channel information extraction, and email notifications to ensure correct package release and reduce economic loss.

AndroidChannel MonitoringJava
0 likes · 9 min read
Automated Monitoring and Validation of JD.com Android Channel Packages
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Nov 20, 2020 · Mobile Development

How to Use ftrace Event Tracing to Debug Android Process Scheduling

This article explains the fundamentals of Linux ftrace, details the event‑tracing mechanism and tracepoint macros, shows how to enable and filter events on ARM64 Android devices, and demonstrates a practical workflow for capturing low‑probability scheduling bugs in camera‑related processes.

AndroidDebuggingProcess Scheduling
0 likes · 11 min read
How to Use ftrace Event Tracing to Debug Android Process Scheduling
iQIYI Technical Product Team
iQIYI Technical Product Team
Nov 20, 2020 · Mobile Development

Componentization Architecture and Implementation for iQIYI Knowledge Mobile App

iQIYI Knowledge implemented a three‑layer componentization architecture—base, functional, and business components—combined with protocol‑based service registration, URL routing, and an automated build pipeline, enabling cross‑platform code reuse, independent testing, and faster integration while reducing coupling and maintenance overhead.

AndroidBuild SystemComponentization
0 likes · 14 min read
Componentization Architecture and Implementation for iQIYI Knowledge Mobile App
Qunar Tech Salon
Qunar Tech Salon
Nov 20, 2020 · Mobile Development

Debugging Dalvik VM Native Code with LLDB on Android

This guide explains how to configure Android Studio and LLDB to perform native debugging of the Dalvik virtual machine on Android devices, covering both scenarios with and without app source code, required environment setup, useful LLDB commands, and step‑by‑step procedures for remote debugging.

AndroidApp DevelopmentDalvik
0 likes · 8 min read
Debugging Dalvik VM Native Code with LLDB on Android
DeWu Technology
DeWu Technology
Nov 19, 2020 · Mobile Development

Evolution of Android Architecture at DeWu App

The DeWu Android team transformed a rapidly expanding, tightly‑coupled codebase into a modular, stable, and efficient architecture by introducing componentization, CI/CD pipelines, DevOps practices, and reusable services across three evolutionary stages, ultimately delivering business value through open‑source libraries, streamlined processes, and improved developer productivity.

AndroidComponentizationDevOps
0 likes · 8 min read
Evolution of Android Architecture at DeWu App
vivo Internet Technology
vivo Internet Technology
Nov 18, 2020 · Mobile Development

In‑Depth Analysis of Android Handler Mechanism, Looper, MessageQueue and Their Practical Applications

The article dissects Android’s Handler‑Looper‑MessageQueue architecture, explaining ThreadLocal‑based Looper binding, various Handler constructors, async versus sync messages, barrier handling, IdleHandler, HandlerThread and IntentService usage, and the differences between Handler.post and View.post for responsive UI development.

AndroidLooperMessageQueue
0 likes · 29 min read
In‑Depth Analysis of Android Handler Mechanism, Looper, MessageQueue and Their Practical Applications
Qunar Tech Salon
Qunar Tech Salon
Nov 18, 2020 · Mobile Development

Understanding Android Looper, MessageQueue, and Native Message Handling

This article explains how Android drives applications through a message‑driven model by detailing the roles of Message, MessageQueue, Looper, Handler, and ThreadLocal, and walks through the native implementation of ActivityThread's main loop, including prepareMainLooper, MessageQueue initialization, epoll integration, and the polling mechanisms that power the message processing cycle.

AndroidLooperMessageQueue
0 likes · 17 min read
Understanding Android Looper, MessageQueue, and Native Message Handling
The Dominant Programmer
The Dominant Programmer
Nov 17, 2020 · Mobile Development

Offline Android Text‑to‑Speech without Third‑Party SDKs

This guide shows how to create an offline Android app that converts any text to speech using the platform‑provided TextToSpeech class, covering UI layout with EditText and Button, a singleton SpeechUtils helper, language, pitch and rate configuration, and full code snippets for a working demo.

AndroidJavaOffline
0 likes · 5 min read
Offline Android Text‑to‑Speech without Third‑Party SDKs
JD Tech Talk
JD Tech Talk
Nov 13, 2020 · Mobile Development

Android App Startup Speed Optimization Practices at JD Finance

This article details JD Finance's Android mobile app startup speed optimization project, covering background, launch type analysis, measurement tools, and a series of practical improvements such as theme switching, application code reduction, thread management, network tweaks, and activity refinements that together cut launch time by up to 45%.

AndroidJD FinancePerformance
0 likes · 15 min read
Android App Startup Speed Optimization Practices at JD Finance
360 Tech Engineering
360 Tech Engineering
Nov 13, 2020 · Mobile Development

Guide to Reducing Android Device Power Consumption and Preventing Shutdown During Automated Testing

This guide explains how to lower Android device power usage and avoid unexpected shutdowns during large‑scale automated testing by controlling battery thresholds, adjusting screen brightness, terminating background apps, setting screen timeout, synchronizing time, and managing audio settings through ADB shell commands.

AndroidDevice AutomationShell Commands
0 likes · 8 min read
Guide to Reducing Android Device Power Consumption and Preventing Shutdown During Automated Testing
360 Quality & Efficiency
360 Quality & Efficiency
Nov 13, 2020 · Mobile Development

Understanding Android Lint: Features, Rules, Jenkins Integration, and Common Pitfalls

This article introduces Android Lint as a static analysis tool, explains its rule categories—Correctness, Performance, Internationalization, and Security—shows how to customize lint.xml, demonstrates integration with Jenkins for automated checks, and shares result analysis and typical integration pitfalls.

AndroidJenkinsStatic Analysis
0 likes · 5 min read
Understanding Android Lint: Features, Rules, Jenkins Integration, and Common Pitfalls
Ctrip Technology
Ctrip Technology
Nov 12, 2020 · Backend Development

Ctrip Live Streaming Technology Overview and Implementation

This article presents a comprehensive overview of Ctrip's live streaming solution, covering the evolution of live streaming, core streaming principles, encoding and protocol choices such as RTMP, HLS, WebRTC, the front‑end framework built with Android, ReactNative and native modules, encountered integration challenges, and the final architectural summary.

AndroidReactNativeencoding
0 likes · 12 min read
Ctrip Live Streaming Technology Overview and Implementation
NetEase Cloud Music Tech Team
NetEase Cloud Music Tech Team
Nov 12, 2020 · Mobile Development

React Native Optimization: Bundle Splitting and Container Preheating for Improved Page Load Speed

By implementing bundle splitting to shrink the initial JavaScript payload and pre‑heating the React Native container during idle periods, the team cut the mall page bundle from 1.1 MB to 856 KB and reduced iOS launch time from roughly 450 ms to 200 ms and Android from about 4.5 s to 2.5 s, achieving significant cross‑platform speed gains validated through A/B testing.

AndroidBundle SplittingPreheating
0 likes · 6 min read
React Native Optimization: Bundle Splitting and Container Preheating for Improved Page Load Speed
Qunar Tech Salon
Qunar Tech Salon
Nov 12, 2020 · Mobile Development

Understanding Android Binder: IPC Mechanism, Architecture, and Security

This article explains Android's Binder inter‑process communication mechanism, compares it with other Linux IPC methods, describes its architecture in both Java and native layers, outlines the security advantages, and details the underlying kernel protocol and command set.

AndroidIPCarchitecture
0 likes · 10 min read
Understanding Android Binder: IPC Mechanism, Architecture, and Security
Qunar Tech Salon
Qunar Tech Salon
Nov 10, 2020 · Mobile Development

Android Automation Interaction: Traditional ADB Scripts and Native Methods

This article examines Android automation techniques, comparing simple ADB script‑based interactions with native‑code approaches using activity lifecycle callbacks, view identification, and MotionEvent simulation, and discusses their advantages, limitations, and suitable application scenarios.

ADBAndroidNative
0 likes · 8 min read
Android Automation Interaction: Traditional ADB Scripts and Native Methods
JD Retail Technology
JD Retail Technology
Nov 6, 2020 · Mobile Development

JD Mall App Stutter Monitoring System: Architecture, Implementation, and Optimization Outcomes

This article details the design and deployment of JD Mall's mobile app stutter monitoring system, introducing the stutter rate metric, describing data collection, analysis, and reporting modules, presenting iOS and Android implementation code, and summarizing the performance improvements achieved across the platform.

AndroidThread Deadlockfps
0 likes · 20 min read
JD Mall App Stutter Monitoring System: Architecture, Implementation, and Optimization Outcomes
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Nov 6, 2020 · Mobile Development

Overview of CHRE (Context Hub Runtime Environment) Architecture, Code Structure, and Event Processing

CHRE (Context Hub Runtime Environment) is an event‑driven, single‑threaded framework that hosts nanoapps on a sensor hub, organizing its source tree into API, Core, PAL, Platform, Apps, and Util directories, and managing events through a singleton EventLoopManager that initializes, queues, and dispatches system and nanoapp events.

AndroidCHREContext Hub
0 likes · 7 min read
Overview of CHRE (Context Hub Runtime Environment) Architecture, Code Structure, and Event Processing
Tencent Music Tech Team
Tencent Music Tech Team
Nov 6, 2020 · Mobile Development

Design and Implementation of an Incremental Compilation Component for Android Projects

The team built a low‑intrusion Gradle plugin that detects changed source and resource files, performs precise dependency analysis, leverages aapt2 for incremental resource compilation, and injects updated Dex and assets into the running app, cutting full Android builds from 418 seconds to 13 seconds and boosting daily developer productivity on large projects such as QQ Music.

AndroidBuild OptimizationDynamic Loading
0 likes · 23 min read
Design and Implementation of an Incremental Compilation Component for Android Projects
Qunar Tech Salon
Qunar Tech Salon
Nov 6, 2020 · Fundamentals

Understanding Android System Property Service: Architecture, Data Structures, and APIs

This article explains the Android Property system, detailing its shared‑memory architecture, the trie‑based data structures (prop_bt, prop_area, prop_info), the initialization flow in the init process, the core C APIs for adding, reading, updating and iterating properties, and the Java SystemProperties wrapper used by applications.

AndroidC++JNI
0 likes · 23 min read
Understanding Android System Property Service: Architecture, Data Structures, and APIs
Amap Tech
Amap Tech
Oct 30, 2020 · Mobile Development

Video Streaming Solution for the ARC Car Cloud Control Platform

The ARC Car Cloud Control platform now streams the vehicle’s screen using Android’s Virtual Display and a C++‑based H.264 hardware encoder, sending raw video over a TCP socket to a server that adaptively adjusts bitrate and frame rate, while the web client decodes the fragmented MP4 via MSE, dramatically lowering CPU usage and latency on low‑end head‑units.

AndroidH.264Media Source Extensions
0 likes · 8 min read
Video Streaming Solution for the ARC Car Cloud Control Platform
Meituan Technology Team
Meituan Technology Team
Oct 29, 2020 · Mobile Development

Hybrid Native Map and WebView Fusion Framework for Meituan Ride-Hailing

Meituan Ride‑hailing replaced its slow JavaScript map with a two‑layer Fusion Framework that places a full‑screen native Tencent map beneath a transparent WebView, uses hot‑region data to dispatch touches to the appropriate layer, and synchronizes UI via a Vue directive and JSBridge, dramatically speeding load times and delivering smoother map interactions.

AndroidGesture DispatchHybrid Development
0 likes · 17 min read
Hybrid Native Map and WebView Fusion Framework for Meituan Ride-Hailing
Xianyu Technology
Xianyu Technology
Oct 29, 2020 · Mobile Development

Performance Optimization of Long List Scrolling in Android and Flutter

The article details how Xianyu improved long‑list scrolling smoothness on both native Android and Flutter by building a cross‑platform frame‑jank detection tool, applying async view‑caching and unbinding in Android, and using repaint boundaries, clipping tweaks, time‑slicing and custom scroll physics in Flutter, achieving up to 57 FPS and halving big‑jank counts on low‑end devices.

AndroidFlutterListView
0 likes · 21 min read
Performance Optimization of Long List Scrolling in Android and Flutter
360 Quality & Efficiency
360 Quality & Efficiency
Oct 23, 2020 · Mobile Development

Techniques to Reduce Android Device Power Consumption and Prevent Shutdown During Automated Testing

This guide explains how to lower Android device power usage and avoid unexpected shutdowns in batch testing by managing battery thresholds, adjusting screen brightness, disabling background apps, setting screen timeout, enabling automatic time, and controlling audio settings through shell commands and reflection.

AndroidDevice AutomationShell Commands
0 likes · 8 min read
Techniques to Reduce Android Device Power Consumption and Prevent Shutdown During Automated Testing
Programmer DD
Programmer DD
Oct 19, 2020 · Mobile Development

Explore High‑Fidelity Mobile App Clones: iOS & Android GitHub Projects

This article presents a curated collection of open‑source iOS and Android clones of popular apps—WeChat, YouTube, NetEase Cloud Music, Bilibili, and Weibo—providing GitHub links, screenshots, and brief insights on how replicating these projects can sharpen development skills and reinforce learning.

AndroidGitHubapp clone
0 likes · 4 min read
Explore High‑Fidelity Mobile App Clones: iOS & Android GitHub Projects
Youzan Coder
Youzan Coder
Oct 16, 2020 · Mobile Development

ZanWeexModuleSDK: A General Solution for Native-Weex Interaction at Youzan

ZanWeexModuleSDK provides a unified solution for native-Weex interaction across Youzan apps, consolidating common modules like network, routing, config, logging, notifications, tracking, and account, allowing developers to focus on Weex code while handling custom logic via a manager and standardized callbacks.

AndroidNative-JS InteractionSDK design
0 likes · 12 min read
ZanWeexModuleSDK: A General Solution for Native-Weex Interaction at Youzan
Youku Technology
Youku Technology
Oct 16, 2020 · Mobile Development

How Youku Achieved Seamless Multi‑Device UI with a Responsive Android SDK

This article explains Youku's Android responsive solution, covering the responsive SDK, loading flow, architecture, data reprocessing, page and container responsiveness, and control size adaptation, providing practical guidelines for building a single app that adapts to diverse device sizes and form factors.

AndroidData ProcessingFoldable Screens
0 likes · 13 min read
How Youku Achieved Seamless Multi‑Device UI with a Responsive Android SDK
ITPUB
ITPUB
Oct 14, 2020 · Mobile Development

Explore Open-Source Clones of Popular Apps: WeChat, YouTube, NetEase Music, Bilibili & Weibo

This article presents a curated collection of open‑source GitHub projects that faithfully replicate major mobile applications—including WeChat, YouTube, NetEase Cloud Music, Bilibili, and Weibo—providing both iOS and Android versions, repository links, and screenshots to help developers practice and learn from real‑world codebases.

Androidapp cloneiOS
0 likes · 4 min read
Explore Open-Source Clones of Popular Apps: WeChat, YouTube, NetEase Music, Bilibili & Weibo
转转QA
转转QA
Oct 14, 2020 · Mobile Development

Design and Implementation of a Code Coverage Solution for the Zhuanzhuan Mobile App

This article describes the purpose, design choices, instrumentation technique, data collection, reporting, merging strategies, platform features, and future plans of a custom code‑coverage system built for the Android and iOS versions of the Zhuanzhuan app, highlighting challenges such as accurate instrumentation, performance impact, and multi‑tag data aggregation.

AndroidInstrumentationbackend service
0 likes · 12 min read
Design and Implementation of a Code Coverage Solution for the Zhuanzhuan Mobile App
Programmer DD
Programmer DD
Oct 14, 2020 · Backend Development

Does Java Reflection Really Slow Down Your App? A Deep Performance Test

This article investigates whether Java reflection impacts performance by running systematic benchmarks that compare direct method calls, reflective method calls, direct field access, and reflective field access across varying iteration counts, presenting detailed results, analysis of the slow paths, and practical guidelines to mitigate any overhead.

AndroidJavaPerformance
0 likes · 12 min read
Does Java Reflection Really Slow Down Your App? A Deep Performance Test
Programmer DD
Programmer DD
Oct 13, 2020 · Information Security

How Payment Platforms Secure Data: From DES to TLS and RSA

This article explains the security architecture of payment platforms, covering terminal data protection, symmetric and asymmetric encryption methods such as DES, 3DES, AES, and RSA, code implementations for Android, TLS transmission security, anti‑tampering signatures, and practical key‑management strategies.

AndroidDESRSA
0 likes · 20 min read
How Payment Platforms Secure Data: From DES to TLS and RSA
Youku Technology
Youku Technology
Oct 10, 2020 · Mobile Development

Alibaba Youku Responsive Design Technology: Android and iOS Implementation Practices

Alibaba’s Youku team outlines a responsive design framework that uses a single codebase and dedicated SDKs to dynamically adapt Android and iOS app layouts across diverse screen sizes, detailing architecture, data handling, loading processes, and implementation strategies that reduce development effort and maintenance costs for multi‑device deployments.

AlibabaAndroidSDK
0 likes · 3 min read
Alibaba Youku Responsive Design Technology: Android and iOS Implementation Practices
Top Architect
Top Architect
Oct 9, 2020 · Backend Development

Investigating the Performance Impact of Java Reflection

This article presents a systematic benchmark of Java reflection versus direct method and field access, analyzes the measured latency across varying call counts, identifies the costly operations within reflection (such as getMethod, getDeclaredField, invoke, and set), and offers practical guidelines to mitigate reflection‑induced performance overhead.

AndroidJavaOptimization
0 likes · 11 min read
Investigating the Performance Impact of Java Reflection
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Sep 27, 2020 · Mobile Development

Understanding the Android Kernel Suspend Process and Power Management

The Android kernel suspend process begins when user‑space writes “mem” to /sys/power/state, triggering an autosuspend loop that validates wakeup_count, logs pending wakeups, freezes filesystems and threads, sequentially calls device suspend callbacks, prepares platform‑specific operations, disables CPUs and interrupts, saves core state, and finally enters the low‑power s2ram state.

AndroidLinuxSuspend
0 likes · 11 min read
Understanding the Android Kernel Suspend Process and Power Management
Programmer DD
Programmer DD
Sep 26, 2020 · Mobile Development

Explore Top Open-Source Clones of WeChat, YouTube, and More on GitHub

Discover a curated collection of high-fidelity open-source clones of popular apps—including WeChat, YouTube, NetEase Cloud Music, Bilibili, and Weibo—available on GitHub for both iOS and Android, complete with repository links and screenshots to help developers practice and enhance their mobile development skills.

AndroidGitHubapp clones
0 likes · 3 min read
Explore Top Open-Source Clones of WeChat, YouTube, and More on GitHub
360 Quality & Efficiency
360 Quality & Efficiency
Sep 25, 2020 · Mobile Development

Cloud‑Based UIAutomator SDK for Android Compatibility Testing

The article presents a cloud‑driven UIAutomator SDK that automates Android app compatibility testing by handling installation, cold‑start, hot‑start and uninstall steps, dynamically updating dialog‑matching data, and providing robust error‑handling to ensure reliable testing across diverse Android devices.

AndroidCloud ConfigurationUIAutomator
0 likes · 4 min read
Cloud‑Based UIAutomator SDK for Android Compatibility Testing
Programmer DD
Programmer DD
Sep 18, 2020 · Mobile Development

Why Does iOS Feel Smoother Than Android? A Humorous Dialogue Explained

A humorous Zhihu dialogue illustrates how iOS and Android manage RAM and background processes differently, explaining why iOS often feels smoother despite having less memory, by personifying apps like WeChat, Alipay, and Taobao, the answer highlights iOS's stricter resource control versus Android's more generous allocation.

AndroidOS comparisonRAM allocation
0 likes · 6 min read
Why Does iOS Feel Smoother Than Android? A Humorous Dialogue Explained
Meituan Technology Team
Meituan Technology Team
Sep 17, 2020 · Mobile Development

Flutter Package Size Optimization Using Dynamic Delivery

The Meituan Waimai team tackled Flutter’s excessive binary growth by splitting engine, assets, and data into downloadable modules, implementing custom build flags and runtime loaders for iOS and Android, achieving up to 95 % APK size reduction and over 30 % IPA shrinkage while shifting payload to on‑demand delivery.

AndroidDynamic DeliveryFlutter
0 likes · 28 min read
Flutter Package Size Optimization Using Dynamic Delivery
Ctrip Technology
Ctrip Technology
Sep 17, 2020 · Mobile Development

Applying Divide‑and‑Conquer and Jetpack Architecture to Decouple Complex Payment Flows in Android

The article describes how a Ctrip senior Android engineer uses divide‑and‑conquer, MVP with Clean Architecture, and Jetpack components such as LiveData and ViewModel to break down a highly coupled payment module into reusable view components, improve data flow, and simplify testing and maintenance.

AndroidDivide and ConquerLiveData
0 likes · 10 min read
Applying Divide‑and‑Conquer and Jetpack Architecture to Decouple Complex Payment Flows in Android
NetEase Cloud Music Tech Team
NetEase Cloud Music Tech Team
Sep 17, 2020 · Mobile Development

Android Audio Visualization: From Fourier Transform to Custom Visualizer Implementation

The article explains Android audio visualization by decoding PCM data, applying Fourier and Fast Fourier transforms to obtain frequency spectra, comparing the built‑in Visualizer API with a custom JNI‑based implementation, and detailing FFT processing, smoothing, buffering, and Canvas rendering techniques for smooth, performant visual effects.

AndroidAudio VisualizationBufferQueue
0 likes · 11 min read
Android Audio Visualization: From Fourier Transform to Custom Visualizer Implementation
Amap Tech
Amap Tech
Sep 14, 2020 · Operations

JaCoCo Code Coverage Instrumentation Principles and Practices for Android SDK

The article explains how to use JaCoCo to instrument Android SDK classes—detailing probe insertion strategies for methods, branches, and code blocks, offline and Ant/Gradle integration, building instrumented packages, collecting execution data, and generating HTML coverage reports without modifying source code.

ASMAndroidInstrumentation
0 likes · 17 min read
JaCoCo Code Coverage Instrumentation Principles and Practices for Android SDK
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Sep 11, 2020 · Fundamentals

Understanding the Android Input Subsystem: Definitions, Initialization, Registration, Matching, and Event Transmission

The Android input subsystem, built on the Linux kernel, abstracts devices with input_dev structures, handlers with input_handler callbacks, and bridges them via input_handle, initializing core services, registering devices and handlers, matching them, transmitting events through buffers, and delivering them to user space via evdev and the InputFlinger framework.

AndroidInput Subsystemdevice-drivers
0 likes · 10 min read
Understanding the Android Input Subsystem: Definitions, Initialization, Registration, Matching, and Event Transmission
vivo Internet Technology
vivo Internet Technology
Sep 10, 2020 · Mobile Development

Getting Started with Android Development Testing: Unit Tests and Espresso UI Tests

The guide walks developers through Android testing basics by explaining JUnit unit tests, instrumented tests, and Espresso UI tests, showing where local and device tests reside, demonstrating how to generate a Calculator unit test and an Espresso test for a simple activity, and how to run them in Android Studio.

AndroidEspressoInstrumentation
0 likes · 12 min read
Getting Started with Android Development Testing: Unit Tests and Espresso UI Tests
Xianyu Technology
Xianyu Technology
Sep 3, 2020 · Mobile Development

Modularization and Cross‑Process Communication Strategies for Xianyu's Flutter Application

Xianyu tackles Flutter’s slow hybrid compilation and native‑module integration pain by introducing a minimal‑shell modular architecture and a two‑phone cross‑process setup that falls back from MethodChannel to socket communication, speeding builds, isolating components, and improving data consistency while adding maintenance and device constraints.

AndroidCross-ProcessFlutter
0 likes · 9 min read
Modularization and Cross‑Process Communication Strategies for Xianyu's Flutter Application
OPPO Amber Lab
OPPO Amber Lab
Aug 31, 2020 · Information Security

Android Kernel Hooking: Bypassing GKI Limits & Memory Protection

This article examines the security challenges of Android and IoT devices built on ARM/ARM64 platforms, explains how Google's Generic Kernel Image (GKI) restricts kernel modifications, and provides detailed techniques—including memory‑page attribute manipulation, remap_pfn_range, and assembly‑level hook implementations—to safely inject custom functionality into the kernel while addressing write‑protection, concurrency, and module‑unloading issues.

ARMAndroidGKI
0 likes · 15 min read
Android Kernel Hooking: Bypassing GKI Limits & Memory Protection
Youzan Coder
Youzan Coder
Aug 26, 2020 · Mobile Development

How We Built a Real‑Time Crash Feedback Platform for Mobile Apps

This article details the design and implementation of a comprehensive crash feedback platform for mobile applications, covering the motivation behind replacing third‑party services, the system architecture using Flink, Kafka and HBase, crash interception on Android, automated grouping and assignment, version filtering, daily reporting, and future enhancements.

AndroidFlinkKafka
0 likes · 15 min read
How We Built a Real‑Time Crash Feedback Platform for Mobile Apps
vivo Internet Technology
vivo Internet Technology
Aug 19, 2020 · Mobile Development

Why Android Images Cause OOM: Memory Usage, DPI, and Glide Tips

This article explains how different Android versions handle image memory, clarifies screen size, density, and resolution concepts, shows how folder placement and bitmap formats affect RAM usage, and provides practical Glide configuration to prevent out‑of‑memory crashes.

AndroidBitMapGlide
0 likes · 11 min read
Why Android Images Cause OOM: Memory Usage, DPI, and Glide Tips
Xianyu Technology
Xianyu Technology
Aug 19, 2020 · Mobile Development

Optimizing Xianyu Android App Cold Start: Cutting Launch Time by Half

By establishing measurable standards, profiling the launch flow, and applying task‑governance techniques—delaying, shrinking and splitting blocking tasks—plus home‑page shortcuts like ad pre‑fetch, background view creation and SharedPreferences caching, Xianyu’s Android cold‑start on low‑end phones dropped from about ten seconds to under five, with the first screen in ~1.3 seconds and full launch in 4.5 seconds.

AndroidCold StartTask Scheduling
0 likes · 10 min read
Optimizing Xianyu Android App Cold Start: Cutting Launch Time by Half
Watermelon Video Tech Team
Watermelon Video Tech Team
Aug 19, 2020 · Mobile Development

Analyzing Native Memory OOM in Android Camera Implementations and Effective Mitigation Strategies

This article investigates native memory out‑of‑memory crashes on certain Android devices caused by excessive CameraMetadata allocations, explains how delayed finalization and GC timing exacerbate the issue, and proposes proactive memory release and GC triggering techniques that dramatically reduce crash rates.

AndroidCameraGarbage Collection
0 likes · 13 min read
Analyzing Native Memory OOM in Android Camera Implementations and Effective Mitigation Strategies
Youzan Coder
Youzan Coder
Aug 12, 2020 · Mobile Development

How a Single Config Line Enables Dynamic Page Redirection in Mobile Apps

This article explains the background pain points of hard‑coded cross‑stack navigation in a mobile app, describes a dynamic routing component built on URL interception, regex matching and replacement, shows Kotlin and iOS implementations, and demonstrates real‑world cases in an app center and order module.

AndroidDynamic ConfigurationKotlin
0 likes · 13 min read
How a Single Config Line Enables Dynamic Page Redirection in Mobile Apps
Open Source Linux
Open Source Linux
Aug 11, 2020 · Fundamentals

From Unix to Android: Tracing the Evolution of Modern Operating Systems

Explore the lineage from the 1969 birth of UNIX through the creation of Linux, the emergence of Apple's iOS, and the development of Android, highlighting key milestones, contributors, and how these systems interconnect as the foundational kernels of today’s major platforms.

AndroidLinuxOperating Systems
0 likes · 4 min read
From Unix to Android: Tracing the Evolution of Modern Operating Systems
JD Retail Technology
JD Retail Technology
Aug 10, 2020 · Mobile Development

Source Code Analysis of Android Lifecycle, LiveData, and ViewModel

This article provides a detailed source‑code analysis of Android Jetpack’s Lifecycle, LiveData, and ViewModel components, explaining their architecture, usage examples, internal mechanisms, and offering practical techniques such as bottom‑up and top‑down analysis, code navigation tips, and unit‑test strategies for developers.

AndroidLifecycleLiveData
0 likes · 38 min read
Source Code Analysis of Android Lifecycle, LiveData, and ViewModel
Youku Technology
Youku Technology
Aug 10, 2020 · Mobile Development

Youku Player Architecture Redesign Based on Pipeline Pattern

Youku’s player was rebuilt with a pipeline‑pattern architecture that unifies playback stages into a modular framework, enabling plug‑in customization, multi‑source support, reduced memory and startup overhead, clearer structure, and improved stability and extensibility for future business innovations.

AndroidCache PipelinePipeline pattern
0 likes · 11 min read
Youku Player Architecture Redesign Based on Pipeline Pattern
iQIYI Technical Product Team
iQIYI Technical Product Team
Aug 7, 2020 · Mobile Development

64-bit Adaptation Practices for iQIYI Android App

iQIYI migrated its Android app to 64‑bit by configuring ABI selection, delivering native libraries via universal or split APKs, plugin packages, and a cloud‑based SO distribution platform, adding a front‑end SDK and back‑end publishing service, and applying size‑reduction and hot‑fix optimizations, resulting in faster startup, better performance, and a unified library management workflow.

64-bitABIAndroid
0 likes · 10 min read
64-bit Adaptation Practices for iQIYI Android App
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Aug 7, 2020 · Mobile Development

Android Thermal Management System: Thermal HAL 2.0 and Service Framework Analysis

Android’s Thermal Management System, introduced in Android 10, uses Thermal HAL 2.0 and a layered service framework to abstract hardware sensors, let apps and system components query temperatures or register callbacks via PowerManager, and enable manufacturers to implement HIDL interfaces and configuration files that drive the thermal‑engine process to throttle CPU/GPU frequencies, charging rates, and other resources when predefined temperature thresholds are exceeded.

AndroidAndroid 10Hardware Abstraction Layer
0 likes · 8 min read
Android Thermal Management System: Thermal HAL 2.0 and Service Framework Analysis
vivo Internet Technology
vivo Internet Technology
Aug 5, 2020 · Mobile Development

An ORM Wrapper for Native SQLite in Android SDKs

The article presents Sponsor, a lightweight ORM‑style wrapper for Android’s native SQLite that uses runtime annotations and dynamic proxies to generate Retrofit‑like, type‑safe CRUD APIs, automatically handling table creation, upgrades, and threading while keeping performance overhead negligible for SDK developers.

AndroidDynamic ProxyORM
0 likes · 18 min read
An ORM Wrapper for Native SQLite in Android SDKs
Architect's Tech Stack
Architect's Tech Stack
Aug 2, 2020 · Mobile Development

Guide to Migrating from Java to Kotlin for Android Development

This article outlines Google's Kotlin‑first strategy, practical steps for teams and code to transition from Java to Kotlin in Android projects, including appointing a Kotlin champion, using Android Studio's conversion tool, gradual migration practices, and interoperability considerations.

AndroidKotlinmigration
0 likes · 4 min read
Guide to Migrating from Java to Kotlin for Android Development
iQIYI Technical Product Team
iQIYI Technical Product Team
Jul 31, 2020 · Industry Insights

Why iQIYI’s Universal Broadcast Beats Android Nearby Sharing and Other File‑Transfer Apps

The article compares Android's upcoming Nearby Sharing, manufacturer‑specific services like Huawei Share, and third‑party tools, highlighting how iQIYI’s Universal Broadcast offers browser‑based, cross‑platform file transfer that overcomes brand and OS limitations while delivering a smoother user experience.

AndroidHuawei ShareNearby Sharing
0 likes · 7 min read
Why iQIYI’s Universal Broadcast Beats Android Nearby Sharing and Other File‑Transfer Apps
58 Tech
58 Tech
Jul 31, 2020 · Mobile Development

Performance Optimization of React Native Pages in 58 App: Analysis and Solutions

This article analyzes the startup latency of React Native pages in the 58 real‑estate app, identifies bottlenecks such as bundle size, hot‑update and Java‑to‑JS bridge delays, and presents a series of optimization techniques—including bundle splitting, silent updates, on‑demand loading, and stepwise rendering—to achieve faster, more stable page launches.

AndroidBundle SplittingCache
0 likes · 16 min read
Performance Optimization of React Native Pages in 58 App: Analysis and Solutions
Youzan Coder
Youzan Coder
Jul 31, 2020 · Mobile Development

Dynamic Message Card Architecture for Mobile Apps Using Weex

The article describes how Youzan Mobile replaces its native, labor‑intensive message‑card system with a lightweight Weex container embedded in native MVVM tables, enabling hot‑reloaded, dynamic cards that can be added or updated without app releases, dramatically shortening development cycles and improving performance.

AndroidDynamic UIWeex
0 likes · 12 min read
Dynamic Message Card Architecture for Mobile Apps Using Weex
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Jul 24, 2020 · Mobile Development

Understanding Android Java Exception Capture and Handling Mechanism

Android captures uncaught Java exceptions using Thread.UncaughtExceptionHandler, first logging details with a system LoggingHandler then terminating the app via KillApplicationHandler, converting the Throwable into an ApplicationErrorReport sent to ActivityManagerService and stored in /data/system/dropbox, while developers can view the same FATAL EXCEPTION stack trace in logcat to diagnose and fix the root cause.

AndroidCrash analysisJava
0 likes · 10 min read
Understanding Android Java Exception Capture and Handling Mechanism
360 Quality & Efficiency
360 Quality & Efficiency
Jul 24, 2020 · Mobile Development

Static Analysis of Android APK Files Using Python and Androguard

This article explains how to perform static analysis of Android APK files with Python, covering environment preparation, unpacking the APK, extracting basic metadata, analyzing classes and methods using the Androguard library, and generating a method call graph for deeper reverse‑engineering insights.

APKAndroguardAndroid
0 likes · 7 min read
Static Analysis of Android APK Files Using Python and Androguard
Youzan Coder
Youzan Coder
Jul 17, 2020 · Mobile Development

How We Halved Mobile Hardware Integration Time with a Modular Device SDK

The article details how the Youzan Retail mobile team re‑architected their hardware SDK—splitting devices into modular AAR packages, introducing layered OEM/Core/Base/Library components, unifying printer protocols with JsCore, and adding IoT monitoring—reducing new device onboarding from days to hours while cutting online issues by up to 55%.

AndroidHardwareIoT
0 likes · 25 min read
How We Halved Mobile Hardware Integration Time with a Modular Device SDK
Tencent Cloud Developer
Tencent Cloud Developer
Jul 15, 2020 · Mobile Development

Performance Optimization of Web Pages in the QQ Music Android Client

The article details how QQ Music’s Android client reduced WebView page load latency by over 25% through pre‑loading the TBS kernel, pooling WebView instances, parallel request loading, shared asset caching, and precise timing metrics that combine native callbacks with DOM‑interactive timestamps, offering cross‑platform lessons.

Androidcross-platformmobile development
0 likes · 11 min read
Performance Optimization of Web Pages in the QQ Music Android Client
WeDoctor Frontend Technology
WeDoctor Frontend Technology
Jul 13, 2020 · Mobile Development

How WYBridge Unifies Bridge APIs Across React Native, Flutter, Weex, and Web

WYBridge provides a unified bridge layer for multiple cross‑platform containers—React Native, Flutter, Weex, and Web—standardizing API definitions, registration, parsing, and invocation across Android and iOS, while offering compatibility solutions for legacy method calls and detailing implementation specifics for each platform.

AndroidFlutterWeex
0 likes · 24 min read
How WYBridge Unifies Bridge APIs Across React Native, Flutter, Weex, and Web
Youzan Coder
Youzan Coder
Jul 10, 2020 · Mobile Development

Design and Implementation of Youzan's Mobile Hotfix Platform

Youzan's mobile hot‑fix platform automates building, storing, and delivering patch packages via a standardized hot‑fix branch, integrates local verification, supports full, gray, and conditional releases with approval workflow, and provides real‑time statistics and rollback, enabling rapid, low‑risk bug fixes without republishing the entire app.

AndroidCI/CDRelease Management
0 likes · 16 min read
Design and Implementation of Youzan's Mobile Hotfix Platform