Tagged articles
1817 articles
Page 9 of 19
Java Architect Essentials
Java Architect Essentials
Aug 31, 2021 · Backend Development

Open‑Source Architecture Tools: mpvue, Walle, SQLAdvisor, Leaf, and Robust

This article introduces several open‑source tools for software architecture—including the Vue‑based mini‑program framework mpvue, the Android channel‑packaging tool Walle, the MySQL index advisor SQLAdvisor, the distributed ID service Leaf, and the hot‑update system Robust—detailing their features, configurations, and GitHub links.

AndroidLeafRobust
0 likes · 7 min read
Open‑Source Architecture Tools: mpvue, Walle, SQLAdvisor, Leaf, and Robust
php Courses
php Courses
Aug 31, 2021 · Mobile Development

React Native and H5 Interaction: Communication Methods and Code Examples

This article explains how to enable two-way communication between React Native and H5 pages using WebView, covering message handling in both directions, code examples for sending and receiving data, and important migration notes from the built‑in WebView to react‑native‑webview.

AndroidH5JavaScript
0 likes · 5 min read
React Native and H5 Interaction: Communication Methods and Code Examples
21CTO
21CTO
Aug 27, 2021 · Mobile Development

When a Tech Influencer Demands GPL Source Code: The UMIDIGI F2 Story

A Chinese phone maker UMIDIGI faced public pressure after influencer Naomi Wu and a Polish developer demanded the GPL‑v2‑licensed kernel source of the Android 10‑based UMIDIGI F2, highlighting the obligations and controversies surrounding open‑source compliance.

AndroidGPLNaomi Wu
0 likes · 4 min read
When a Tech Influencer Demands GPL Source Code: The UMIDIGI F2 Story
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Aug 27, 2021 · Mobile Development

Analysis of Android ANR (Application Not Responding) Causes and Diagnosis

The article explains that Android ANR (Application Not Responding) arises when the UI thread is blocked beyond defined timeouts, classifies the various timeout types, details common root causes such as slow I/O, heavy computation, binder delays, deadlocks, CPU or memory pressure, and outlines a systematic log‑and‑systrace analysis process to pinpoint and resolve these issues.

ANRAndroidperformance
0 likes · 8 min read
Analysis of Android ANR (Application Not Responding) Causes and Diagnosis
ByteDance SE Lab
ByteDance SE Lab
Aug 27, 2021 · Mobile Development

How ByteDance’s SmartEye Boosts Android Testing with Precise Call‑Chain Analysis

This article explains ByteDance’s automated precise testing solution, describing how method call‑chain analysis links code changes to Android Activities, enabling targeted test‑case recommendation, optimizing CI pipelines, and significantly improving test efficiency and coverage for large‑scale mobile projects.

AndroidMobile Developmentcall graph
0 likes · 17 min read
How ByteDance’s SmartEye Boosts Android Testing with Precise Call‑Chain Analysis
Tongcheng Travel Technology Center
Tongcheng Travel Technology Center
Aug 27, 2021 · Information Security

JavaTweakHook: A Lightweight Android Java Method Hook Framework without Xposed

The article introduces JavaTweakHook, a lightweight Android hook framework that avoids Xposed by directly manipulating ART structures, compares it with existing solutions, details the hook process—including method creation, ArtMethod copying, assembly trampolines, and native‑Java integration—and provides compilation, usage, and limitation notes.

AndroidHookjava
0 likes · 15 min read
JavaTweakHook: A Lightweight Android Java Method Hook Framework without Xposed
Kuaishou Tech
Kuaishou Tech
Aug 20, 2021 · Mobile Development

Analyzing Android TextView ANR Caused by getOffsetForHorizontal Loop Using Frida

This article investigates an Android ANR triggered by a while‑true loop in TextView's getOffsetForHorizontal, reproduces the issue on Pixel 2, explains how to extract trace files, compares Android Studio debugging with Frida dynamic hooking, and provides step‑by‑step instructions to reproduce and debug the bug.

ANRAndroidFrida
0 likes · 11 min read
Analyzing Android TextView ANR Caused by getOffsetForHorizontal Loop Using Frida
NetEase Smart Enterprise Tech+
NetEase Smart Enterprise Tech+
Aug 20, 2021 · Mobile Development

Quickly Integrate NetEase Cloud Chatroom SDK into Android Apps

This guide walks developers through the complete Android integration of NetEase Cloud's chatroom SDK, covering Gradle setup, required permissions, ProGuard rules, SDK initialization, entering and leaving chatrooms, message handling, and UI component usage with practical code examples.

AndroidChatroom SDKIntegration
0 likes · 14 min read
Quickly Integrate NetEase Cloud Chatroom SDK into Android Apps
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Aug 20, 2021 · Mobile Development

Android Vold (Volume Daemon) Architecture and Operation Principles

Android Vold is a standalone daemon that bridges the kernel and framework, handling storage hot‑plug events such as USB, SD card, and internal partitions by receiving kernel uevents via Netlink, processing them in VolumeManager, and communicating with StorageManager through Binder to mount, encrypt, and manage file systems.

AndroidHot PlugKernel Uevent
0 likes · 8 min read
Android Vold (Volume Daemon) Architecture and Operation Principles
ByteDance Terminal Technology
ByteDance Terminal Technology
Aug 19, 2021 · Mobile Development

ByteDance's Android PLT Hook Framework bhook Open Source

ByteDance has open‑sourced bhook, an Android PLT hook framework supporting API 16‑31 and multiple ABIs, featuring a trampoline‑based hook mechanism, automatic ELF monitoring, and a robust native crash‑catching module for safe runtime function interception.

AndroidELFNative Hook
0 likes · 16 min read
ByteDance's Android PLT Hook Framework bhook Open Source
Sohu Tech Products
Sohu Tech Products
Aug 18, 2021 · Mobile Development

Android Four Major Components Communication Process and Interaction with ActivityManagerService

This article provides a comprehensive, macro-level analysis of Android's four core components—Activity, Service, BroadcastReceiver, and ContentProvider—detailing how each interacts with the ActivityManagerService (AMS) through Binder IPC, including code examples for startActivity, startService, bindService, broadcast, and ContentProvider operations across processes.

ActivityManagerServiceAndroidBinder
0 likes · 20 min read
Android Four Major Components Communication Process and Interaction with ActivityManagerService
FunTester
FunTester
Aug 15, 2021 · Mobile Development

Mastering Android Testing: Architecture, ADB Commands, and a Complete Test Checklist

This guide provides a comprehensive overview of Android system architecture, explains the ADB communication mechanism, presents a detailed Android app testing checklist covering UI, compatibility, installation, OTA, interaction, concurrency, database, interface, performance, security, and other tests, and lists essential ADB commands and monitoring principles.

ADBAndroidMobile Development
0 likes · 14 min read
Mastering Android Testing: Architecture, ADB Commands, and a Complete Test Checklist
Watermelon Video Tech Team
Watermelon Video Tech Team
Aug 13, 2021 · Mobile Development

Raphael: An Open‑Source Native Memory Leak Detection Tool for Android

Raphael is a native memory‑leak detection tool developed by Bytedance's video team, open‑sourced to address Android native memory issues through a combination of inline/PLT hooking, efficient stack unwinding, and optimized caching, offering low‑overhead, version‑independent monitoring across diverse native allocation APIs.

AndroidHookingNative Memory Leak
0 likes · 24 min read
Raphael: An Open‑Source Native Memory Leak Detection Tool for Android
转转QA
转转QA
Aug 13, 2021 · Mobile Development

Implementing UI Automation Regression for Mobile Event Tracking (埋点)

This article details a UI automation regression framework for mobile event tracking, covering background challenges, Android and iOS log collection methods, H5 integration strategies, performance comparisons, and practical recommendations to improve testing efficiency by about 50%.

AndroidUI automationevent tracking
0 likes · 8 min read
Implementing UI Automation Regression for Mobile Event Tracking (埋点)
Sohu Tech Products
Sohu Tech Products
Aug 11, 2021 · Mobile Development

Encapsulating Retrofit with Kotlin Coroutines in Android MVVM Architecture

This article explains how to integrate Retrofit with Kotlin coroutines following Google’s Android architecture guidelines, covering coroutine basics, OkHttp and Retrofit setup, generic response handling, repository abstraction, ViewModel usage, and lifecycle‑aware coroutine scopes to achieve clean, asynchronous network calls.

AndroidKotlin CoroutinesLiveData
0 likes · 13 min read
Encapsulating Retrofit with Kotlin Coroutines in Android MVVM Architecture
Sohu Tech Products
Sohu Tech Products
Aug 11, 2021 · Mobile Development

Applying Architectural Principles to an Android MVVM Project (WanAndroid)

This article explores software architecture concepts by drawing parallels with building design, explains the goals of architectural design such as scalability and maintainability, and demonstrates a practical Android MVVM implementation using WanAndroid with clean‑architecture patterns, Kotlin, and modular project structure.

AndroidClean ArchitectureKotlin
0 likes · 13 min read
Applying Architectural Principles to an Android MVVM Project (WanAndroid)
vivo Internet Technology
vivo Internet Technology
Aug 11, 2021 · Mobile Development

Cross-Platform Rich Text and Editor Solutions

The Vivo Internet Frontend Team explains why modern products need a unified, cross‑platform rich‑text editor and presents a JSON‑based data model and WebView‑embedded editor architecture that enable consistent rendering, seamless native‑web communication, media handling, keyboard control, and error‑retry mechanisms across web, mobile, and desktop environments.

AndroidMobileRich Text
0 likes · 13 min read
Cross-Platform Rich Text and Editor Solutions
ByteDance Dali Intelligent Technology Team
ByteDance Dali Intelligent Technology Team
Aug 5, 2021 · Mobile Development

Design and Implementation of a Lightweight Startup Information Collection and Visualization Framework

This article presents a lightweight framework for constructing, collecting, and visualizing Android startup task information, replacing heavy systrace data with concise logs, Kotlin data structures, AspectJ instrumentation, and Python scripts that generate readable timelines and discrete charts to aid performance analysis.

AndroidProfilingPython
0 likes · 10 min read
Design and Implementation of a Lightweight Startup Information Collection and Visualization Framework
ByteDance Terminal Technology
ByteDance Terminal Technology
Aug 4, 2021 · Mobile Development

Achieving Perfect Text Vertical Centering in Flutter: A Deep Dive into Font Metrics and Android Layout Principles

This article explores the underlying font metrics and layout algorithms that cause text vertical misalignment in Flutter, analyzes Android native solutions like includeFontPadding and getTextBounds, and demonstrates how to implement a precise forceVerticalCenter feature by leveraging Minikin and Skia rendering pipelines.

AndroidCross‑platform developmentFlutter
0 likes · 13 min read
Achieving Perfect Text Vertical Centering in Flutter: A Deep Dive into Font Metrics and Android Layout Principles
WeChat Client Technology Team
WeChat Client Technology Team
Aug 3, 2021 · Mobile Development

Detecting and Fixing Android App Power Drain with BatteryCanary

This article explains how Android apps consume power, details the underlying BatteryStatsService, introduces the BatteryCanary tool for monitoring and diagnosing power‑drain issues, and shares practical optimization cases and benchmark results for developers seeking to reduce app energy usage.

AndroidBatteryCanaryPower Monitoring
0 likes · 27 min read
Detecting and Fixing Android App Power Drain with BatteryCanary
ELab Team
ELab Team
Aug 2, 2021 · Mobile Development

Mastering JSBridge: Two‑Way Communication Between WebView and Native

JSBridge (JSB) enables bidirectional communication between a WebView’s JavaScript environment and native mobile code, covering WebView basics, platform-specific APIs, interception and injection methods, callback handling, and practical demos for both Android and iOS, helping developers implement robust cross‑platform bridges.

AndroidJSBridgeMobile Development
0 likes · 14 min read
Mastering JSBridge: Two‑Way Communication Between WebView and Native
NetEase Cloud Music Tech Team
NetEase Cloud Music Tech Team
Jul 30, 2021 · Mobile Development

Design and Optimization Practices for In‑Car Android App Development

The article reviews current car‑head‑unit integration models, proposes a channel‑agnostic architecture with voice and multi‑resolution support, details performance‑tuning steps such as size reduction and process consolidation, and shares common pitfalls and project‑management insights to help developers successfully port Android apps to automotive platforms.

AndroidApp DevelopmentMediaSession
0 likes · 21 min read
Design and Optimization Practices for In‑Car Android App Development
Meituan Technology Team
Meituan Technology Team
Jul 29, 2021 · Mobile Development

Improving Test Efficiency for Dynamic Layouts in Meituan App with XraySDK

The article explains how Meituan’s dynamic layout technology, which complicates automated testing, is tackled by XraySDK’s view‑ability transformation that captures layout data via a local HTTP server and custom listeners, boosting dynamic‑card test coverage from zero to over 80% and streamlining future WebView and compatibility testing.

AndroidAppiumXraySDK
0 likes · 15 min read
Improving Test Efficiency for Dynamic Layouts in Meituan App with XraySDK
Xianyu Technology
Xianyu Technology
Jul 29, 2021 · Mobile Development

How Xianyu Tackles Android ANR: Monitoring, Diagnosis, and Optimization Strategies

This article explains how Xianyu identifies, monitors, and resolves Android ANR issues by analyzing root causes, implementing SIGQUIT‑based detection, inspecting thread stacks, and applying concrete optimizations such as SharedPreferences replacement, network broadcast caching, and delayed component registration, ultimately cutting ANR rates by more than half.

ANRAndroidMobile Development
0 likes · 11 min read
How Xianyu Tackles Android ANR: Monitoring, Diagnosis, and Optimization Strategies
JD Retail Technology
JD Retail Technology
Jul 28, 2021 · Mobile Development

Applying Aspect‑Oriented Programming (AOP) for Privacy Compliance and Thread Optimization in Android Apps

This article explains how Aspect‑Oriented Programming is applied in Android development to achieve non‑intrusive privacy compliance checks and thread‑usage optimization, detailing the use of compile‑time ASM bytecode instrumentation and runtime Xposed/epic hooks, along with code examples and measured performance gains.

ASMAndroidMobile Development
0 likes · 14 min read
Applying Aspect‑Oriented Programming (AOP) for Privacy Compliance and Thread Optimization in Android Apps
DeWu Technology
DeWu Technology
Jul 24, 2021 · Mobile Development

Why Rust Is the Next Game-Changer for Cross‑Platform Mobile Development

This article examines how Rust can unify client logic across Android and iOS, compares it with React Native and Flutter, and details a MVVM‑based architecture, binding mechanisms, and debugging optimizations that make Rust a lightweight, high‑performance solution for international mobile teams.

AndroidMVVMMobile Development
0 likes · 12 min read
Why Rust Is the Next Game-Changer for Cross‑Platform Mobile Development
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Jul 23, 2021 · Mobile Development

Fastboot Protocol and Fastbootd Process on Android Devices

Fastbootd, introduced in Android Q, runs inside recovery to implement the full fastboot flashing protocol—supporting dynamic super‑partition management, USB FunctionFS communication, and OEM commands—by using source files in system/core/fastboot and recovery, triggered via adb or bootloader reboot‑fastboot.

AndroidFastbootFastbootd
0 likes · 7 min read
Fastboot Protocol and Fastbootd Process on Android Devices
Tencent Music Tech Team
Tencent Music Tech Team
Jul 22, 2021 · Mobile Development

Modular Architecture and ViewDelegate Design for QQ Music Playback Page on Android

To tame the growing complexity of QQ Music’s Android playback page, the team replaced the monolithic MVC/SubController design with a clean, layered architecture that uses lightweight, lifecycle‑aware ViewDelegates and LiveData, enabling on‑demand module loading, clear separation of concerns, reduced memory usage, and reusable UI components.

AndroidClean ArchitectureLiveData
0 likes · 23 min read
Modular Architecture and ViewDelegate Design for QQ Music Playback Page on Android
Sohu Tech Products
Sohu Tech Products
Jul 21, 2021 · Mobile Development

Implementation of a Custom Progress View with Particle Animation on Android

This article explains how to build a custom Android progress view featuring random particle motion, radial gradient backgrounds, sector clipping, pointer color changes, animated color transitions, and a jumping number display, with complete source code and step‑by‑step implementation details.

AndroidCustom ViewMobile Development
0 likes · 13 min read
Implementation of a Custom Progress View with Particle Animation on Android
Baidu Intelligent Testing
Baidu Intelligent Testing
Jul 20, 2021 · Mobile Development

Understanding Gradle and the Android Build Process: Projects, Tasks, Dependency Management, and Packaging

This article explains why Android developers need Gradle, describes the structure of a default Android project, details Gradle concepts such as projects, tasks, and the wrapper, and walks through dependency configurations, conflict resolution, and the complete build and packaging pipeline for APK generation.

AndroidBuild AutomationGradle
0 likes · 17 min read
Understanding Gradle and the Android Build Process: Projects, Tasks, Dependency Management, and Packaging
WeChat Client Technology Team
WeChat Client Technology Team
Jul 19, 2021 · Mobile Development

How to Build a Complete ANR Monitoring Solution on Android

This article explains the Android ANR workflow, analyzes the system's appNotResponding logic, and presents a robust monitoring strategy that captures SIGQUIT signals, validates true ANR events, and hooks trace writes to reliably detect and diagnose ANRs in mobile apps.

ANRAndroidPerformance Monitoring
0 likes · 22 min read
How to Build a Complete ANR Monitoring Solution on Android
Laravel Tech Community
Laravel Tech Community
Jul 18, 2021 · Mobile Development

Running Windows 11 on Android Phones and Raspberry Pi: An Overview of the Renegade Project

The article explains how the Windows 11 preview can be installed on Snapdragon‑based Android phones and Raspberry Pi devices via the community‑driven Renegade Project, detailing the required tools, current device support, encountered limitations, and the broader implications for ARM‑based Windows deployments.

ARMAndroidOS porting
0 likes · 5 min read
Running Windows 11 on Android Phones and Raspberry Pi: An Overview of the Renegade Project
Sohu Tech Products
Sohu Tech Products
Jul 14, 2021 · Mobile Development

MotionLayout Tutorial: Creating Advanced UI Animations for Android Apps

This article provides a step‑by‑step guide on using MotionLayout in Android, covering dependency setup, layout and MotionScene creation, defining start and end states, adding keyframe animations, gesture handling with OnSwipe, and common attributes for building complex UI transitions.

AndroidConstraintLayoutMobile Development
0 likes · 22 min read
MotionLayout Tutorial: Creating Advanced UI Animations for Android Apps
Sohu Tech Products
Sohu Tech Products
Jul 14, 2021 · Mobile Development

Resolving IllegalStateException: closed During Android File Upload with RxHttp and OkHttp

This article details a real‑world Android file‑upload failure caused by the Android Studio Profiler’s OkHttp3Interceptor closing the request’s BufferedSink, explains the debugging steps taken, and provides code modifications to the ProgressRequestBody to prevent the IllegalStateException and ensure correct upload progress tracking.

AndroidNetwork InterceptorOkHttp
0 likes · 14 min read
Resolving IllegalStateException: closed During Android File Upload with RxHttp and OkHttp
WeChat Client Technology Team
WeChat Client Technology Team
Jul 13, 2021 · Mobile Development

How to Accurately Detect UI Lag and ANR on Android: Advanced Monitoring Techniques

This article explains the relationship between UI stutter and ANR, critiques common monitoring tools, and presents three robust Android lag‑detection methods—WatchDog polling, Looper Printer replacement, and specialized handlers for IdleHandler, TouchEvent, and SyncBarrier leaks—complete with probability analysis and sample code.

ANRAndroidIdleHandler
0 likes · 17 min read
How to Accurately Detect UI Lag and ANR on Android: Advanced Monitoring Techniques
FunTester
FunTester
Jul 12, 2021 · Mobile Development

Mastering Airtest: No‑Code Automation for Android & iOS Testing

This guide walks you through what Airtest is, how to install it, connect devices, use its visual interface for basic operations, and follow a step‑by‑step example that records actions and generates runnable test scripts for Android and iOS apps.

AirtestAndroidUI automation
0 likes · 8 min read
Mastering Airtest: No‑Code Automation for Android & iOS Testing
Tencent Music Tech Team
Tencent Music Tech Team
Jul 9, 2021 · Mobile Development

Foldable Screen Adaptation Strategies in the Quanmin Karaoke Android App

The article examines how the Quanmin Karaoke Android app can adapt to foldable screens by handling configuration changes, updating layout and video sizing, avoiding UI recreation glitches, and employing strategies such as fill‑adaptation, multi‑window, compatibility modes, with testing via ADB commands and emulator profiles.

AndroidUI adaptationconfiguration changes
0 likes · 26 min read
Foldable Screen Adaptation Strategies in the Quanmin Karaoke Android App
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Jul 2, 2021 · Mobile Development

Understanding the Android Power Supply Subsystem and healthd Daemon

The article explains how Android’s Linux power‑supply subsystem abstracts battery and charger status via sysfs nodes, how drivers register properties and trigger uevents, and how the healthd daemon listens to those events, parses attributes, and forwards detailed power information to user space.

AndroidDevice DriversHealthd
0 likes · 9 min read
Understanding the Android Power Supply Subsystem and healthd Daemon
Sohu Tech Products
Sohu Tech Products
Jun 30, 2021 · Mobile Development

Understanding Kotlin Coroutine Suspension and Resume Mechanism on Android

This article explains how Kotlin coroutines simplify asynchronous programming on Android by using suspension, detailing core concepts, APIs, dispatchers, suspend functions, and the underlying implementation through decompiled bytecode and continuation‑passing style, complemented by practical code examples and execution logs.

AndroidCoroutinesKotlin
0 likes · 34 min read
Understanding Kotlin Coroutine Suspension and Resume Mechanism on Android
vivo Internet Technology
vivo Internet Technology
Jun 30, 2021 · Mobile Development

Analyzing Android Bitmap Memory Usage and Optimization Strategies

The article explains that Android OOM crashes often stem from oversized bitmaps, showing how a 36 KB image can consume 2.4 MB RAM, compares Glide and Picasso scaling, recommends using appropriate bitmap configs (ARGB_8888 vs RGB_565), matching image dimensions to view size, and provides Kotlin Glide module code for dynamic format selection to optimize memory usage.

AndroidGlideImageLoading
0 likes · 12 min read
Analyzing Android Bitmap Memory Usage and Optimization Strategies
58 Tech
58 Tech
Jun 25, 2021 · Mobile Development

Android App Package Size Optimization through Built‑in Image Networkization

This article explores Android package size reduction by converting built‑in images to network‑loaded resources, detailing resource compression, code obfuscation, AAB splitting, drawable hooking via reflection or bytecode, download strategies with Fresco, caching, and safe removal of unused assets.

AndroidDrawable HookingFresco
0 likes · 12 min read
Android App Package Size Optimization through Built‑in Image Networkization
Sohu Tech Products
Sohu Tech Products
Jun 23, 2021 · Mobile Development

Android Componentization: Architecture, Implementation, and Best Practices

This article explains why large Android projects need componentization, describes the concepts of modularization and componentization, presents a detailed component architecture, and provides step‑by‑step solutions for independent debugging, routing, inter‑component communication, fragment retrieval, application lifecycle distribution, and migration of legacy projects, complete with Gradle and ARouter code examples.

ARouterAndroidComponentization
0 likes · 32 min read
Android Componentization: Architecture, Implementation, and Best Practices
ByteDance Dali Intelligent Technology Team
ByteDance Dali Intelligent Technology Team
Jun 23, 2021 · Mobile Development

Optimizing Android Class Loading and Verification to Reduce Cold Start Latency

This article analyzes Android's class loading and verification process, identifies optimization opportunities to speed up cold starts, compares industry approaches, and presents a semi‑automated analysis tool along with practical solutions for handling verification failures in mobile apps.

AndroidMobile Developmentclass loading
0 likes · 6 min read
Optimizing Android Class Loading and Verification to Reduce Cold Start Latency
WeChat Client Technology Team
WeChat Client Technology Team
Jun 21, 2021 · Mobile Development

How We Enabled Live Streaming for WeChat Mini‑Games: Cross‑Process Video & Audio Capture

This article details the technical challenges and solutions for implementing live video and audio streaming in WeChat mini‑games, covering screen capture, cross‑process rendering with Surface, audio capture strategies, IPC performance testing, GL synchronization issues, and process‑priority optimizations.

AndroidAudio CaptureCross-Process Rendering
0 likes · 22 min read
How We Enabled Live Streaming for WeChat Mini‑Games: Cross‑Process Video & Audio Capture
Snowball Engineer Team
Snowball Engineer Team
Jun 17, 2021 · Mobile Development

Implementing Linked Scrolling Between RecyclerView and Bottom Sheet in Android

This article describes how the Snowball Android team solved the slow‑frame issue on the fund detail page by implementing a split‑screen loading layout using RecyclerView, CoordinatorLayout, and ViewPager, focusing on achieving a linked scrolling effect for the bottom discussion overlay through custom BottomSheetBehavior extensions and nested scrolling mechanisms.

AndroidBottomSheetBehaviorCoordinatorLayout
0 likes · 13 min read
Implementing Linked Scrolling Between RecyclerView and Bottom Sheet in Android
WeChat Client Technology Team
WeChat Client Technology Team
Jun 17, 2021 · Mobile Development

Why Setting a Low Thread Priority on Android Can Crash the Main Thread

An in‑depth investigation reveals that calling Thread.start() before setPriority() on Android can unintentionally lower the main thread’s priority and increase TimerSlack, causing sleep/wait delays, video stutter, and a major WeChat outage, with root causes traced to timing issues and WebView initialization.

AndroidThread PriorityTimerSlack
0 likes · 22 min read
Why Setting a Low Thread Priority on Android Can Crash the Main Thread
Sohu Tech Products
Sohu Tech Products
Jun 16, 2021 · Mobile Development

Android Code Obfuscation: ProGuard, R8, D8 and Build Process Deep Dive

This article provides a comprehensive guide to Android code obfuscation, covering the purpose and benefits of minification, detailed ProGuard/R8 configuration, resource shrinking, desugaring, D8/R8 internals, custom obfuscation dictionaries, and modular ProGuard rules for multi‑module projects.

AndroidD8Gradle
0 likes · 23 min read
Android Code Obfuscation: ProGuard, R8, D8 and Build Process Deep Dive
Sohu Tech Products
Sohu Tech Products
Jun 16, 2021 · Mobile Development

Getting Started with Jetpack Compose: Setup, Core Concepts, and Practical UI Development

This article introduces Jetpack Compose, explains why it replaces XML‑based Android UI, walks through environment setup, Gradle configuration, and dependency inclusion, demonstrates the setContent and XML integration methods, explores composable functions, state management, list rendering with LazyColumn, and shares practical tips and reflections on declarative UI development in Android.

AndroidComposeDeclarative UI
0 likes · 20 min read
Getting Started with Jetpack Compose: Setup, Core Concepts, and Practical UI Development
ByteDance Dali Intelligent Technology Team
ByteDance Dali Intelligent Technology Team
Jun 15, 2021 · Mobile Development

UI Componentization Architecture and Implementation Experience for Android Projects

This article presents a comprehensive experience of UI componentization in Android projects, covering the background, goals, engineering and component architectures, detailed implementation steps for reusable UI components such as FlatButton, and practical Gradle configurations to achieve modular, decoupled, and scalable UI development.

AndroidComponent ArchitectureCustom Views
0 likes · 16 min read
UI Componentization Architecture and Implementation Experience for Android Projects
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Jun 4, 2021 · Information Security

Overview of SELinux and Its Use in Android

The article explains SELinux’s origins, core architecture, mandatory access control mechanisms such as type enforcement and MLS, and how Android incorporates SELinux as SEAndroid—detailing its evolution from permissive to enforcing mode, policy file structure, Android O’s split policies, and example domain and object transitions.

AndroidMacSELinux
0 likes · 17 min read
Overview of SELinux and Its Use in Android
Amap Tech
Amap Tech
Jun 4, 2021 · Artificial Intelligence

Deploying Multiple CNN Models on Low‑End Devices with MNN: Memory Tricks and Error Debugging

This article explains how a high‑traffic map service captures road features using client‑side computer‑vision models, details the deployment of many CNNs with the lightweight MNN engine on memory‑constrained devices, and shares practical memory‑saving techniques, inference scheduling, and error‑analysis methods.

AndroidComputer VisionMNN
0 likes · 12 min read
Deploying Multiple CNN Models on Low‑End Devices with MNN: Memory Tricks and Error Debugging
Tencent Music Tech Team
Tencent Music Tech Team
Jun 3, 2021 · Mobile Development

Accelerating Full Android Builds by Pre‑compiling Library Modules into AARs

To cut full‑build times in large Android projects, the team pre‑compiles each library module into an AAR, publishes it to a Maven repository, computes a content‑plus‑dependency‑graph hash to detect existing AARs, and automatically swaps project dependencies for matching AARs while addressing duplicate‑class and version conflicts.

AARAndroidBuild Optimization
0 likes · 11 min read
Accelerating Full Android Builds by Pre‑compiling Library Modules into AARs
Sohu Tech Products
Sohu Tech Products
Jun 2, 2021 · Mobile Development

Comprehensive Guide to Android Skinning and Theme Switching

This article provides an in‑depth overview of Android skinning, covering UI specifications, product‑level thinking, code implementations, dynamic refresh mechanisms, layout inflation interception, skin package loading strategies, performance optimizations, and future directions such as drawable skinning and Material You integration.

AndroidDynamic RefreshLayoutInflater
0 likes · 18 min read
Comprehensive Guide to Android Skinning and Theme Switching
MaGe Linux Operations
MaGe Linux Operations
May 31, 2021 · Mobile Development

Why Python Struggles on Mobile and How BeeWare Is Trying to Fix It

The article examines Python's popularity in machine learning, the difficulties of running Python apps on iOS and Android, the BeeWare project's milestones and challenges, funding issues, and Guido van Rossum’s perspective on focusing Python on backend and scientific workloads.

AndroidBeeWareCPython
0 likes · 7 min read
Why Python Struggles on Mobile and How BeeWare Is Trying to Fix It
WeChat Client Technology Team
WeChat Client Technology Team
May 31, 2021 · Mobile Development

Unlocking Android Video Playback: Evolution, Architecture, and Performance Hacks

This article explores the fundamentals and evolution of Android video playback, detailing protocol parsing, demuxing, decoding, synchronization, rendering, and various optimization strategies—including cold‑start and scrolling scenarios, modular player designs, and network enhancements—to improve first‑frame latency and overall user experience.

AndroidMediaPlayerffmpeg
0 likes · 22 min read
Unlocking Android Video Playback: Evolution, Architecture, and Performance Hacks
vivo Internet Technology
vivo Internet Technology
May 31, 2021 · Mobile Development

Android ANR Analysis: Techniques and Case Studies

The article offers a thorough guide to Android ANR analysis, detailing generation mechanisms, timeout thresholds, log examination techniques, and case studies of common causes such as idle main threads, long operations, lock contention, CPU preemption, memory pressure, and system‑service timeouts, providing practical diagnostic examples.

ANRAndroidCPU analysis
0 likes · 16 min read
Android ANR Analysis: Techniques and Case Studies
Kuaishou Large Model
Kuaishou Large Model
May 28, 2021 · Mobile Development

How to Eliminate High‑Latency Decoding in Moonlight Android for Smooth Game Streaming

This article explains the technical challenges of high‑latency video decoding in Android game streaming with Moonlight, analyzes why it occurs, and provides practical solutions—including API choices, immediate buffer release, frame ordering, and low‑latency vendor configurations—to achieve smoother, low‑delay gameplay.

AndroidC languageLow latency
0 likes · 10 min read
How to Eliminate High‑Latency Decoding in Moonlight Android for Smooth Game Streaming
ELab Team
ELab Team
May 13, 2021 · Mobile Development

How to Keep Fixed Headers and Footers Stable When the iOS Keyboard Pops Up

This article explains why fixed elements break when the iOS soft keyboard appears in a WebView, compares iOS and Android keyboard behaviors, shows how to listen for keyboard events, and provides practical solutions—including native headers, scrollIntoView tricks and scroll adjustments—to keep sticky UI components correctly positioned.

AndroidKeyboardMobile
0 likes · 12 min read
How to Keep Fixed Headers and Footers Stable When the iOS Keyboard Pops Up
Sohu Tech Products
Sohu Tech Products
May 12, 2021 · Mobile Development

Comprehensive Guide to Jetpack Compose Text Component and Its Properties

This article provides an in‑depth tutorial on Jetpack Compose's Text composable, detailing every available attribute, usage examples, styling techniques, selectable and clickable text handling, annotated strings, and practical implementations such as hyperlink integration for Android developers.

AndroidComposeJetpack Compose
0 likes · 18 min read
Comprehensive Guide to Jetpack Compose Text Component and Its Properties
QQ Music Frontend Team
QQ Music Frontend Team
May 6, 2021 · Mobile Development

Practical Guide to Trimming Flutter App Size on iOS & Android

This article examines the composition of Flutter iOS and Android build artifacts, then presents detailed strategies—such as removing unused components, relocating assets, and optimizing engine compilation—to significantly reduce package size, with concrete examples, code snippets, and measured results showing up to 50% shrinkage.

AndroidApp SizeiOS
0 likes · 17 min read
Practical Guide to Trimming Flutter App Size on iOS & Android
OPPO Amber Lab
OPPO Amber Lab
Apr 30, 2021 · Information Security

How Intent Redirection Bypasses Android Exported Component Restrictions

This article explains the difference between exported and non‑exported Android components, demonstrates how malicious apps can embed an Intent inside another exported component to reach private components, and provides practical detection and mitigation techniques to protect against Intent redirection vulnerabilities.

AndroidContent ProviderExported Component
0 likes · 12 min read
How Intent Redirection Bypasses Android Exported Component Restrictions
Full-Stack Internet Architecture
Full-Stack Internet Architecture
Apr 29, 2021 · Fundamentals

Understanding the Singleton Pattern: Definition, Nine Implementations, Pros & Cons, and Android Applications

This article explains the Singleton design pattern, its core concept of ensuring a single instance, presents nine Java implementations with code examples, compares their advantages and disadvantages, discusses real‑world usage in Android and general development, and offers guidelines for when to apply the pattern.

AndroidDesign PatternsObject Creation
0 likes · 15 min read
Understanding the Singleton Pattern: Definition, Nine Implementations, Pros & Cons, and Android Applications
JD Retail Technology
JD Retail Technology
Apr 27, 2021 · Mobile Development

Understanding Kotlin Coroutines: Concepts, Usage, and Comparison with RxJava

This article explains Kotlin coroutine fundamentals, creation, launch and async usage, suspension functions, withContext, and compares coroutine-based implementations with RxJava in Android development, providing code examples and best‑practice guidance, including performance considerations and migration advice.

AndroidAsyncCoroutines
0 likes · 18 min read
Understanding Kotlin Coroutines: Concepts, Usage, and Comparison with RxJava
Laravel Tech Community
Laravel Tech Community
Apr 24, 2021 · Mobile Development

Google Releases Android 12 Developer Preview 3 with New SplashScreen API and Other Features

Google announced the third Android 12 developer preview, detailing new SplashScreen API, call notification template, exact alarm permission, and improved web link handling, with the first stable version slated for August, providing developers with a comprehensive overview of upcoming system changes.

AndroidDeveloper PreviewMobile Development
0 likes · 4 min read
Google Releases Android 12 Developer Preview 3 with New SplashScreen API and Other Features
Tencent Music Tech Team
Tencent Music Tech Team
Apr 23, 2021 · Mobile Development

Native Memory Analysis and Optimization in Android K歌 Application

The article details a thorough investigation of native‑memory crashes in the K歌 Android app, describing how memory usage was profiled, comparing three analysis tools, building a custom loli_profiler‑based hook to track malloc/free and bitmap allocations, exposing leaks, and outlining fixes and future optimization plans.

AndroidBitmapHooking
0 likes · 28 min read
Native Memory Analysis and Optimization in Android K歌 Application
Sohu Tech Products
Sohu Tech Products
Apr 21, 2021 · Mobile Development

Kotlin Basics: Syntax, Classes, Objects, and Functions with Examples

This article provides a comprehensive Kotlin tutorial for Android developers, covering basic syntax, variable declarations, control statements, functions, classes, objects, delegation, and standard library utilities, illustrated with clear code examples and explanations.

AndroidKotlinKotlin Basics
0 likes · 25 min read
Kotlin Basics: Syntax, Classes, Objects, and Functions with Examples