Tagged articles

Android

1846 articles · Page 8 of 19
DaTaobao Tech
DaTaobao Tech
Feb 15, 2022 · Mobile Development

Optimizing Fast and Precise Scrolling in Android RecyclerView

By preloading off-screen items, applying a short non-animated jump for large distances, and then using a customized smooth-scroll with precise offset correction, the Android RecyclerView achieves fast, accurate scrolling without white-screen flashes or abrupt stops, greatly improving navigation of long, dynamically-sized lists.

AndroidRecyclerViewmobile development
0 likes · 14 min read
Optimizing Fast and Precise Scrolling in Android RecyclerView
Alibaba Terminal Technology
Alibaba Terminal Technology
Feb 14, 2022 · Mobile Development

How to Combat Android Manifest Decay: Best Practices and Tools

This article explores the hidden challenges of Android Manifest decay in app development, explaining how unintended changes can affect performance, stability, and compliance, and presents practical solutions—including merge control, placeholder usage, global configuration checks, permission management, and component export governance—backed by Youku’s real‑world tooling and practices.

AndroidBuild Toolsmanifest
0 likes · 17 min read
How to Combat Android Manifest Decay: Best Practices and Tools
MaGe Linux Operations
MaGe Linux Operations
Feb 13, 2022 · Fundamentals

Unlock Android Power: A Complete Guide to Using Termux Without Root

This article introduces Termux, an open‑source Linux terminal emulator for Android that runs without root, explains how to replace its package source with a domestic mirror, configure storage permissions, use essential pkg commands, and set up simple applications like an HTTP server and a hacker‑style display.

AndroidCommand LinePackage Management
0 likes · 6 min read
Unlock Android Power: A Complete Guide to Using Termux Without Root
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Feb 11, 2022 · Operations

Overview and Implementation of eBPF for Android Network Statistics and Control

The article explains how Android’s shift to Linux kernel 4.x/5.x introduced the eBPF framework, detailing its advantages over iptables, the programming model with helper macros and maps, and its implementation in netd and HAL to collect network statistics, enforce traffic control, and support power‑saving Doze policies.

AndroidBPFSystem Programming
0 likes · 8 min read
Overview and Implementation of eBPF for Android Network Statistics and Control
Xianyu Technology
Xianyu Technology
Feb 10, 2022 · Mobile Development

Design and Implementation of an Android Chain Framework for Business Decoupling

The Android Chain framework decouples business modules by turning call points into annotated extension points, generating interface‑to‑implementation mappings at compile time, merging them via a Gradle plugin, and exposing them through a runtime singleton that supports priority, dynamic proxies, custom URL protocols, and ProGuard‑safe automatic registration.

AndroidAnnotationProcessingDependencyInjection
0 likes · 8 min read
Design and Implementation of an Android Chain Framework for Business Decoupling
Baidu Geek Talk
Baidu Geek Talk
Feb 7, 2022 · Mobile Development

Optimizing Video Playback: Soft/Hardware Decoding Strategies for Baidu Android App

The article evaluates software versus hardware video decoding for Baidu’s Android app, presents benchmark data showing surface‑mode hardware decoding’s superior efficiency, identifies compatibility and first‑frame latency challenges, and proposes a monitoring module plus seamless soft‑to‑hard decoder switching to achieve high hardware‑decode usage while maintaining fast startup and low error rates.

AndroidHardware AccelerationMediaCodec
0 likes · 11 min read
Optimizing Video Playback: Soft/Hardware Decoding Strategies for Baidu Android App
IT Services Circle
IT Services Circle
Feb 3, 2022 · Mobile Development

Microsoft’s ‘Your Phone’ App Brings Android Phone Integration to Windows PCs

The article outlines how Microsoft’s Your Phone app enables Android smartphones—especially Honor’s Magic V—to sync with Windows 10/11 PCs for calls, messages, notifications, photos and apps, while noting limited features, recent availability in China, and the broader trend of cross‑device continuity first shown by Apple in 2014.

AndroidWindowsYour Phone
0 likes · 4 min read
Microsoft’s ‘Your Phone’ App Brings Android Phone Integration to Windows PCs
Programmer DD
Programmer DD
Jan 30, 2022 · Mobile Development

Instantly Forward Android SMS to Any Platform with SmsForwarder

This article introduces SmsForwarder, an open‑source Android app that monitors SMS, calls, and app notifications and forwards them to various services such as DingTalk, WeChat, Telegram, email, and more, highlighting its convenience, low power consumption, and robust design.

AndroidSMS forwardingmobile automation
0 likes · 3 min read
Instantly Forward Android SMS to Any Platform with SmsForwarder
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Jan 28, 2022 · Mobile Development

Overview of Android Camera2 Image Capture and Face Recognition Pipeline

The article outlines Android’s Camera2‑based 2D face‑recognition image‑capture pipeline, detailing the Camera HAL and v2 API architecture, YUV_420_888 data handling, ImageReader capture and preview workflow, surface handle transmission to the Face framework, and provides reference resources for developers.

AndroidCamera2FaceRecognition
0 likes · 11 min read
Overview of Android Camera2 Image Capture and Face Recognition Pipeline
Airbnb Technology Team
Airbnb Technology Team
Jan 27, 2022 · Mobile Development

Architecture of Airbnb's Automated Testing Framework (Part 5)

Part 5 of Airbnb’s Android testing series details the custom IntegrationTestActivity architecture that drives fragment‑based screenshots and interactions, explains how idle state is detected by polling Looper queues, and describes a global exception handler that adds contextual test information to aid rapid debugging.

AndroidEspressoIdle Detection
0 likes · 13 min read
Architecture of Airbnb's Automated Testing Framework (Part 5)
Sohu Tech Products
Sohu Tech Products
Jan 26, 2022 · Mobile Development

Adapting Android Apps for Large Screens and Foldable Devices with WindowSizeClass and Jetpack Tools

This article explains how Android developers can embrace the rapidly growing large‑screen and foldable device market by using WindowSizeClass APIs, Reference Devices, NavigationRail, SlidingPaneLayout, Jetpack Compose adaptations, and Gradle‑managed testing to create responsive, multi‑window experiences across phones, tablets, Chrome OS and foldables.

AndroidJetpack ComposeLarge Screens
0 likes · 25 min read
Adapting Android Apps for Large Screens and Foldable Devices with WindowSizeClass and Jetpack Tools
Baidu App Technology
Baidu App Technology
Jan 24, 2022 · Mobile Development

Introduction to OpenCL Programming for Mobile GPU Computing

As mobile CPUs plateau, developers increasingly use OpenCL to harness Android GPUs like Qualcomm Adreno and Huawei Mali for heterogeneous computing, leveraging its platform, execution, and memory models to write portable kernels—illustrated by a simple array‑addition example that demonstrates device initialization, kernel creation, buffer management, and parallel execution.

AndroidC programmingGPU computing
0 likes · 8 min read
Introduction to OpenCL Programming for Mobile GPU Computing
BaiPing Technology
BaiPing Technology
Jan 17, 2022 · Mobile Development

How to Ensure Your Android App Supports 64‑Bit ABI and Pass Store Requirements

This guide explains why Android apps must adopt 64‑bit architectures, outlines market mandates, describes the ABI landscape, shows how to detect missing 64‑bit native libraries with Gradle scripts or the EasyPrivacy plugin, and provides step‑by‑step instructions for updating build configurations, testing, and publishing compliant APKs or App Bundles.

64-bitABIAPK
0 likes · 13 min read
How to Ensure Your Android App Supports 64‑Bit ABI and Pass Store Requirements
vivo Internet Technology
vivo Internet Technology
Jan 12, 2022 · Mobile Development

Pitfalls of LiveData Observation and Lambda Optimizations in Android MVVM

When observing LiveData in Android MVVM, developers may be misled by log deduplication, Java‑8 lambda optimizations that reuse a single Observer, automatic replay of the latest value to new observers, and shared ViewModel navigation bugs, but using an Event wrapper, reflection to reset version counters, or switching to Kotlin Flow/SharedFlow can safely avoid these pitfalls.

AndroidJavaKotlin
0 likes · 20 min read
Pitfalls of LiveData Observation and Lambda Optimizations in Android MVVM
转转QA
转转QA
Jan 12, 2022 · Mobile Development

UI Automation Element Locating for Android and iOS Using WEditor and Appium

This guide explains how to set up and use WEditor for Android and tidevice/Appium for iOS to locate UI elements efficiently, covering prerequisite tools, installation commands, step‑by‑step connection procedures, error handling, and best‑practice strategies for reliable mobile UI automation.

AndroidAppiumElement Locating
0 likes · 6 min read
UI Automation Element Locating for Android and iOS Using WEditor and Appium
ByteDance Terminal Technology
ByteDance Terminal Technology
Jan 11, 2022 · Fundamentals

Online Java OOM Attribution Solution Based on Hprof Memory Snapshots

This article introduces a comprehensive solution for diagnosing and attributing Java Out‑Of‑Memory (OOM) issues in Android apps by capturing Hprof memory snapshots, automatically analyzing heap data, identifying leaks, large objects, and class‑wide memory consumption, and providing privacy‑preserving, automated reporting and remediation workflows.

AndroidHprofJava
0 likes · 24 min read
Online Java OOM Attribution Solution Based on Hprof Memory Snapshots
DeWu Technology
DeWu Technology
Jan 10, 2022 · Mobile Development

APK Package Size Optimization and Monitoring Platform for Android Apps

The platform optimizes Android APK size by shrinking resources, compressing images, filtering native libraries, and applying selective byte‑code reductions, then continuously monitors package composition, trends, and business‑line usage, alerting teams to abnormal growth while preserving functionality for large‑scale apps.

APKAndroidDEX
0 likes · 13 min read
APK Package Size Optimization and Monitoring Platform for Android Apps
Alibaba Terminal Technology
Alibaba Terminal Technology
Jan 10, 2022 · Mobile Development

How to Accurately Measure and Optimize Android Frame Rate with APM

This article explains how APM provides frame‑rate data for Android, discusses the challenges of inaccurate FPS, introduces metrics such as scroll FPS, frozen‑frame ratio, scrollHitchRate and frame‑cause analysis, details the rendering pipeline, code implementations, optimization techniques, and integration with AB testing for performance improvement.

APMAndroidFrame Rate
0 likes · 20 min read
How to Accurately Measure and Optimize Android Frame Rate with APM
58 Tech
58 Tech
Jan 6, 2022 · Mobile Development

Design and Implementation of a Unified Rich Media Animation Control for Android Apps

This document presents the background, objectives, research findings, design principles, API specifications, caching strategy, implementation details, XML usage, memory impact analysis, and conclusions of a unified rich‑media animation component that consolidates image, GIF, Lottie, pager and video handling for efficient reuse in Android RecyclerView lists.

AndroidCacheDesign
0 likes · 11 min read
Design and Implementation of a Unified Rich Media Animation Control for Android Apps
Sohu Tech Products
Sohu Tech Products
Jan 5, 2022 · Mobile Development

CameraX ImageAnalysis YUV‑to‑RGB Conversion Using libyuv and NDK

This article explains the new CameraX ImageAnalysis feature that adds YUV‑420_888 to RGBA_8888 conversion, discusses the underlying YUV and RGBA formats, compares Java/Kotlin, RenderScript and native libyuv implementations, and provides performance results and usage guidance for Android developers.

AndroidCameraXImageAnalysis
0 likes · 8 min read
CameraX ImageAnalysis YUV‑to‑RGB Conversion Using libyuv and NDK
NetEase Smart Enterprise Tech+
NetEase Smart Enterprise Tech+
Jan 5, 2022 · Mobile Development

How Android’s Video Device Manager Powers WebRTC: Architecture and Optimization

This article explains Android’s Video Device Manager (VDM) within WebRTC, covering the graphics system, Surface/BufferQueue model, capture, encoding, rendering pipelines, cross‑platform implementation layers, and compatibility optimizations, providing developers with a comprehensive view of Android video handling in real‑time communication.

AndroidMediaCodecSurfaceFlinger
0 likes · 14 min read
How Android’s Video Device Manager Powers WebRTC: Architecture and Optimization
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Dec 31, 2021 · Information Security

Design and Implementation of the Android Scudo Hardened Allocator

The Android Scudo hardened allocator, introduced in Android R to replace jemalloc, uses a primary region‑based allocator, a secondary mmap‑backed allocator, thread‑specific caches, and a quarantine system with 64‑bit chunk headers and extensive safety checks, offering a balanced security‑performance trade‑off configurable via compile‑time, environment, and mallopt options.

AndroidChunk HeaderMemory Allocator
0 likes · 17 min read
Design and Implementation of the Android Scudo Hardened Allocator
Coolpad Technology Team
Coolpad Technology Team
Dec 28, 2021 · Mobile Development

Introducing RheaTrace: An Enhanced Android Performance Tracing Tool

RheaTrace, an open‑source high‑performance tracing tool developed by ByteDance, extends Systrace by adding detailed I/O data, method‑level timing, and improved efficiency, offering Android developers a more comprehensive way to capture and analyze performance issues despite some setup complexities and platform limitations.

AndroidRheaTraceSystrace
0 likes · 5 min read
Introducing RheaTrace: An Enhanced Android Performance Tracing Tool
ByteDance Terminal Technology
ByteDance Terminal Technology
Dec 28, 2021 · Mobile Development

Analyzing Gradle’s Scheduling Mechanism to Optimize Android Component Publishing

This article investigates why large Android projects experience extremely slow AAR publishing, reveals that memory is not the main bottleneck, examines Gradle’s core scheduling, Worker API, lock contention, and measurement inaccuracies, and proposes disabling Worker API to achieve up to fifteen‑fold build speed improvements.

AndroidGradleParallelism
0 likes · 20 min read
Analyzing Gradle’s Scheduling Mechanism to Optimize Android Component Publishing
Alibaba Cloud Developer
Alibaba Cloud Developer
Dec 27, 2021 · Mobile Development

How to Dynamically Configure mPaaS for Multiple Android Build Variants

This article explains how to dynamically configure mPaaS for Android projects with multiple build variants by using Gradle scripts to switch .config files based on the current flavor, including code snippets for deleting old configs, copying new ones, and retrieving flavor and applicationId information.

AndroidBuild VariantsGradle
0 likes · 6 min read
How to Dynamically Configure mPaaS for Multiple Android Build Variants
DeWu Technology
DeWu Technology
Dec 23, 2021 · Mobile Development

AirForce Component Management and Release Platform Overview

The AirForce platform unifies component architecture, baseline and release management, and automated packaging for a large Android app, eliminating information silos and cumbersome configuration files by enforcing hierarchical dependencies, tracking component metadata, providing fine‑grained conflict detection, and enabling shuttle releases that streamline coordination, improve traceability, and reduce manual effort.

AndroidBaseline ManagementComponent Architecture
0 likes · 12 min read
AirForce Component Management and Release Platform Overview
Baidu App Technology
Baidu App Technology
Dec 23, 2021 · Mobile Development

Optimizing Android Video Playback: When to Use Soft vs. Hardware Decoding

This article analyzes the trade‑offs between software and hardware video decoding on Android, presents performance measurements for different MediaCodec modes, identifies compatibility and latency challenges, and proposes a decoder‑monitoring system and seamless switch architecture to maximize playback efficiency.

AndroidFFmpegMediaCodec
0 likes · 12 min read
Optimizing Android Video Playback: When to Use Soft vs. Hardware Decoding
Sohu Tech Products
Sohu Tech Products
Dec 22, 2021 · Fundamentals

Introduction to Gradle and Android Gradle Plugin: Build System Basics

This article introduces the fundamentals of Gradle as a universal build automation tool and explains how the Android Gradle Plugin integrates with it, covering project structure, build files, tasks, the three build lifecycle phases, DSL syntax, and provides example Groovy/Kotlin scripts for configuring Android applications.

AGPAndroidBuild System
0 likes · 8 min read
Introduction to Gradle and Android Gradle Plugin: Build System Basics
vivo Internet Technology
vivo Internet Technology
Dec 22, 2021 · Frontend Development

In-Depth Analysis of Chrome DevTools Architecture, Protocols, and Performance Tools

The article offers a thorough technical examination of Chrome DevTools’s client‑server architecture, the JSON‑based Chrome DevTools Protocol, and performance tooling within Android Chromium 87, guiding front‑end developers and engineers through its history, core implementation, code examples, JavaScript evaluation, performance diagnostics, and broader ecosystem impact.

AndroidCDPChrome DevTools
0 likes · 27 min read
In-Depth Analysis of Chrome DevTools Architecture, Protocols, and Performance Tools
DeWu Technology
DeWu Technology
Dec 22, 2021 · Mobile Development

AirForce Component Management and Release Platform Overview

AirForce is a platform that centralizes Android component management and release processes by enforcing layered dependencies, tracking baselines with public and private states, detecting conflicts via component version numbers, automating build and packaging through a plugin that validates API changes, and notifying stakeholders, thereby improving stability and efficiency.

AndroidBaseline ManagementComponentization
0 likes · 11 min read
AirForce Component Management and Release Platform Overview
Airbnb Technology Team
Airbnb Technology Team
Dec 22, 2021 · Mobile Development

Automated Unit Testing Framework for Android ViewModel (Part 4)

Part 4 of Airbnb’s Android testing series presents a dedicated framework that lets developers write concise, single‑function unit tests for ViewModel classes by specifying initial state, parameters, and expected state or dependency calls through a Kotlin DSL, integrating with JUnit, Robolectric, Mockito, and offering scaffolding and IntelliJ plugins for streamlined, systematic ViewModel logic verification.

AndroidDSLKotlin
0 likes · 12 min read
Automated Unit Testing Framework for Android ViewModel (Part 4)
Laravel Tech Community
Laravel Tech Community
Dec 20, 2021 · Mobile Development

One‑Click Mobile Number Login and Verification Services from China Mobile, China Telecom, and China Unicom

The article provides a detailed overview of one‑click mobile number login and verification services offered by China Mobile, China Telecom, and China Unicom, describing their SDK capabilities, network requirements, caching mechanisms, and typical use cases for mobile and web applications.

AndroidMobile AuthenticationSDK
0 likes · 10 min read
One‑Click Mobile Number Login and Verification Services from China Mobile, China Telecom, and China Unicom
Alibaba Terminal Technology
Alibaba Terminal Technology
Dec 20, 2021 · Mobile Development

How Youku Cut Android Build Times by Up to 35 Minutes: A Deep Dive

Facing build times of up to 35 minutes for Android release packages, Youku’s engineering team applied data‑driven metrics, software and hardware optimizations—including Atlas removal, Gradle and AGP upgrades, DX tuning, redundant task cleanup, and pipeline redesign—cutting debug builds by minutes and release builds by tens of seconds.

AndroidGradlePerformance
0 likes · 12 min read
How Youku Cut Android Build Times by Up to 35 Minutes: A Deep Dive
Programmer DD
Programmer DD
Dec 18, 2021 · Mobile Development

Can Windows 11 Run on Android Phones? Inside the Renegade Project

Developers have managed to boot Windows 11 on Android smartphones, Raspberry Pi 4, and even a legacy Lumia device, revealing both the technical breakthroughs and the remaining limitations such as missing phone functions and reliance on custom UEFI ports.

ARMAndroidRaspberry Pi
0 likes · 6 min read
Can Windows 11 Run on Android Phones? Inside the Renegade Project
Java Architect Essentials
Java Architect Essentials
Dec 17, 2021 · Mobile Development

One-Click Mobile Number Login and Verification Services from China Mobile, China Telecom, and China Unicom

The article explains how China Mobile, China Telecom, and China Unicom provide one‑click mobile number login and verification services, detailing SDK capabilities, required network conditions, token acquisition methods, and security considerations for iOS, Android, H5, and mini‑program integrations.

AndroidSDKauthentication
0 likes · 12 min read
One-Click Mobile Number Login and Verification Services from China Mobile, China Telecom, and China Unicom
MaGe Linux Operations
MaGe Linux Operations
Dec 17, 2021 · Mobile Development

Speed Up Android Channel Packaging with Walle: A Quick Guide

This article introduces Walle, a fast Android channel‑packaging tool for the APK Signature V2 Scheme, explains how to configure it in Gradle, shows key properties and variables, and provides Gradle commands to generate single or multiple channel APKs efficiently.

APK Signature V2AndroidChannel Packaging
0 likes · 5 min read
Speed Up Android Channel Packaging with Walle: A Quick Guide
ByteDance Terminal Technology
ByteDance Terminal Technology
Dec 17, 2021 · Mobile Development

Solving Android Plugin Resource ID Conflicts with a No‑Resource‑Fixation Approach

This article explains the problem of resource ID mismatches when Android plugins use host resources, reviews existing resource‑fixation solutions, and presents a novel “no‑resource‑fixation” method that dynamically maps host IDs at compile‑time and runtime to keep plugins stable across host updates.

AAPT2AndroidDynamic Loading
0 likes · 26 min read
Solving Android Plugin Resource ID Conflicts with a No‑Resource‑Fixation Approach
ByteDance SE Lab
ByteDance SE Lab
Dec 17, 2021 · Mobile Development

Douyin's Metric‑Driven Optimization: Boosting Creation Experience and Performance

This article details Douyin's systematic approach to improving creation experience by defining measurable goals, building a comprehensive metric system, performing relevance analysis, and implementing concrete Android and iOS performance optimizations—including album loading, component architecture, and small‑screen video quality—while outlining monitoring, tooling, and internal platform support that together deliver significant user‑facing gains.

AndroidMetricsiOS
0 likes · 24 min read
Douyin's Metric‑Driven Optimization: Boosting Creation Experience and Performance
Laravel Tech Community
Laravel Tech Community
Dec 16, 2021 · Mobile Development

Programming Languages for Mobile Apps: Native and Cross‑Platform Options

This article explains the programming languages used for Android and iOS apps, compares native languages such as Java, Kotlin, Swift, and Objective‑C with cross‑platform solutions like Flutter (Dart) and uni‑app (Vue.js), and summarizes the typical language stacks for large‑scale mobile applications.

AndroidFluttercross-platform
0 likes · 5 min read
Programming Languages for Mobile Apps: Native and Cross‑Platform Options
Sohu Tech Products
Sohu Tech Products
Dec 15, 2021 · Mobile Development

Implementing a Naked‑Eye 3D Effect on Android with OpenGL

This article explains how to create a naked‑eye 3D visual effect in an Android app by splitting an image into three layers, using OpenGL for GPU‑accelerated rendering, registering device sensors to track rotation, applying matrix transformations, and smoothing sensor noise with a low‑pass filter.

3DAndroidOpenGL
0 likes · 14 min read
Implementing a Naked‑Eye 3D Effect on Android with OpenGL
Sohu Tech Products
Sohu Tech Products
Dec 8, 2021 · Mobile Development

Understanding Android App Routing: Concepts, Requirements, and Implementation

This article explains the concept of routing in Android applications, discusses why third‑party routing frameworks are often needed for large, componentized apps, outlines the essential features of a routing framework, and details the implementation techniques such as annotation processing, AOP injection, and service routing with concrete code examples.

AOPARouterAndroid
0 likes · 14 min read
Understanding Android App Routing: Concepts, Requirements, and Implementation
NetEase Smart Enterprise Tech+
NetEase Smart Enterprise Tech+
Dec 8, 2021 · Mobile Development

How to Accurately Measure Real‑Time Audio/Video Performance on Mobile Devices

This article explains why traditional CPU usage metrics are unreliable for real‑time audio/video apps, introduces essential performance indicators, reviews native and third‑party analysis tools for iOS and Android, and proposes power‑consumption‑based evaluation methods with practical testing guidelines.

AndroidPower Consumptionaudio
0 likes · 15 min read
How to Accurately Measure Real‑Time Audio/Video Performance on Mobile Devices
BaiPing Technology
BaiPing Technology
Dec 6, 2021 · Mobile Development

Master Kotlin Coroutines: Simplify Async Code in Android

This article provides a comprehensive introduction to Kotlin Coroutines, covering their history, core concepts like CoroutineContext, Dispatchers, Job, Deferred, and suspend functions, and demonstrates practical Android usage with code examples for launching coroutines, handling concurrency, networking, Room database operations, timeouts, exception handling, and Flow-based timers.

AndroidCoroutinesFlow
0 likes · 21 min read
Master Kotlin Coroutines: Simplify Async Code in Android
Sohu Tech Products
Sohu Tech Products
Dec 1, 2021 · Mobile Development

Understanding Android Architecture: From MVC/MVP/MVVM to MVI

This article reviews classic Android architectural patterns—MVC, MVP, and MVVM—highlights their limitations, introduces the MVI pattern as a more streamlined alternative, and provides a detailed Kotlin implementation with ViewState, ViewEvent, and unidirectional data flow examples.

AndroidKotlinMVI
0 likes · 11 min read
Understanding Android Architecture: From MVC/MVP/MVVM to MVI
Sohu Tech Products
Sohu Tech Products
Dec 1, 2021 · Mobile Development

Understanding HEIF Image Format and Its Implementation on Android

HEIF (High Efficiency Image File Format) offers superior compression, support for image sequences, depth and transparency, and is natively supported on iOS and Android P, with implementation options via ImageDecoder, BitmapFactory, or conversion to JPEG, though adoption faces compatibility and hardware licensing challenges.

AndroidHEIFHEVC
0 likes · 8 min read
Understanding HEIF Image Format and Its Implementation on Android
vivo Internet Technology
vivo Internet Technology
Dec 1, 2021 · Mobile Development

Bytecode and Reference Detection for Android Apps: Principles, Implementation, and Gradle Plugin

The article explains how bytecode‑level reference detection—implemented via a custom Gradle plugin that uses JavaAssist or ASM to scan compiled .class files for missing or inaccessible methods, fields, and classes—can automatically catch runtime‑crash‑inducing errors in large modular Android projects, offering configurable strict or warning modes to enhance build safety.

AndroidGradle PluginJavaassist
0 likes · 18 min read
Bytecode and Reference Detection for Android Apps: Principles, Implementation, and Gradle Plugin
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Nov 26, 2021 · Information Security

Memory Tagging Extension (MTE): Overview, Principles, and Usage in Android and Linux Kernel

Memory Tagging Extension (MTE), introduced in ARM v8.5, tags memory with 4‑bit keys and checks them in hardware via synchronous or asynchronous modes, providing low‑overhead detection of use‑after‑free, overflow and underflow bugs in Android (since 12) and Linux kernels, complementing tools like ASan and KASAN despite a 16‑byte granularity limitation.

ARMAndroidMTE
0 likes · 10 min read
Memory Tagging Extension (MTE): Overview, Principles, and Usage in Android and Linux Kernel
Airbnb Technology Team
Airbnb Technology Team
Nov 25, 2021 · Mobile Development

How Airbnb Automates Android Interaction Testing with JSON Diff

Airbnb’s Android team built an automated interaction testing system that traverses view hierarchies, records click actions and resulting state changes into JSON snapshots, enabling diff-based verification of UI behavior without writing traditional Espresso tests, and integrates with Happo for CI reporting.

AndroidEspressoInteraction Testing
0 likes · 18 min read
How Airbnb Automates Android Interaction Testing with JSON Diff
21CTO
21CTO
Nov 21, 2021 · Frontend Development

What’s New in TypeScript 4.5 and Is Google’s Fuchsia the End of Android 12?

The article outlines Microsoft’s TypeScript 4.5 release with its new type‑system features and performance fixes, then shifts to Google’s unveiling of the Fuchsia OS, its microkernel architecture, and growing speculation that Android 12 could be the final Android update.

AndroidFuchsiaGoogle
0 likes · 4 min read
What’s New in TypeScript 4.5 and Is Google’s Fuchsia the End of Android 12?
OPPO Amber Lab
OPPO Amber Lab
Nov 19, 2021 · Information Security

How Android 11’s New Features Opened Up Three Critical Security Holes

This article examines three Android 11 security vulnerabilities—CVE‑2021‑0485’s picture‑in‑picture resizing flaw, CVE‑2021‑0521’s unprotected package‑visibility API, and CVE‑2021‑0645’s storage‑access bypass—detailing their causes, code examples, and the patches Google released to mitigate them in practice.

AndroidAndroid 11CVE
0 likes · 7 min read
How Android 11’s New Features Opened Up Three Critical Security Holes
Yuewen Technology
Yuewen Technology
Nov 19, 2021 · Mobile Development

How Shadow Plugin Framework Shrinks Android APKs and Enables Dynamic Modules

This article explains the motivation behind adopting the Shadow plugin architecture for QQ Reading, compares modular and plugin approaches, details class‑loader mechanisms, walks through Shadow's core components and loading flow, and shares practical usage tips and lessons learned.

APK size reductionAndroidDynamic Modules
0 likes · 18 min read
How Shadow Plugin Framework Shrinks Android APKs and Enables Dynamic Modules
ByteDance Dali Intelligent Technology Team
ByteDance Dali Intelligent Technology Team
Nov 19, 2021 · Mobile Development

Using Kotlin Flow and Channel to Solve Android Development Pain Points and Implement an MVI Architecture

This article demonstrates how Kotlin Flow and Channel can address common Android development challenges such as ViewModel‑View communication and event handling, compares alternatives like LiveData and RxJava, and presents a practical MVI architecture implementation with code examples.

AndroidCoroutinesFlow
0 likes · 24 min read
Using Kotlin Flow and Channel to Solve Android Development Pain Points and Implement an MVI Architecture
Alibaba Terminal Technology
Alibaba Terminal Technology
Nov 19, 2021 · Mobile Development

How to Achieve Instant Short‑Video Playback on Android: Multi‑Player & Pre‑Download Strategies

This article explains how to optimize Android short‑video playback for instant start by analyzing problems such as cover‑screen flash and slow streaming, then presents a three‑player RecyclerView solution, pre‑download techniques, cache integration, and future improvements to deliver a seamless, TikTok‑like experience.

AndroidRecyclerViewmulti-player
0 likes · 11 min read
How to Achieve Instant Short‑Video Playback on Android: Multi‑Player & Pre‑Download Strategies
Sohu Tech Products
Sohu Tech Products
Nov 17, 2021 · Mobile Development

Implementing a Carousel with MotionLayout in Android

This tutorial explains how to create a smooth, animated carousel in Android using MotionLayout and its Carousel helper, covering core concepts, state definitions, XML layout and MotionScene configurations, Kotlin adapter implementation, and practical tips for handling view ordering and visual effects.

AndroidCarouselConstraintLayout
0 likes · 14 min read
Implementing a Carousel with MotionLayout in Android
Rare Earth Juejin Tech Community
Rare Earth Juejin Tech Community
Nov 16, 2021 · Mobile Development

Highlights from the Google Developer Summit: Android 12, Flutter, TensorFlow, ARCore, and Web Updates

The online Google Developer Summit in China covered Android 12's UI, performance, and privacy improvements, Flutter's cross‑platform dominance, TensorFlow use cases, ARCore enhancements, WebAssembly and PWA advances, and Play's new Data Safety requirements, providing a concise technical recap for developers.

AndroidGoogle Developer SummitTensorFlow
0 likes · 6 min read
Highlights from the Google Developer Summit: Android 12, Flutter, TensorFlow, ARCore, and Web Updates
Sohu Tech Products
Sohu Tech Products
Nov 10, 2021 · Mobile Development

Adding KSP Support to Android Room: Challenges, Design Decisions, and Implementation

This article details how the Android Room library added experimental Kotlin Symbol Processing (KSP) support to replace KAPT, describing the performance benefits, the architectural challenges of creating an X‑Processing abstraction layer, the testing infrastructure built around it, and the remaining limitations and future work.

AndroidAnnotation ProcessingKSP
0 likes · 15 min read
Adding KSP Support to Android Room: Challenges, Design Decisions, and Implementation
Tencent Music Tech Team
Tencent Music Tech Team
Nov 10, 2021 · Mobile Development

Android Routing Management: Activity, Fragment, and Hybrid Page Navigation

Android routing management separates native navigation—using Activity launch modes, the ActivityManagerService task stack, intents, and the Navigation component for fragments—from hybrid navigation, where Activities host WebView, Weex/React‑Native, or Flutter pages and communicate via intents, bridges, or platform channels to achieve flexible page routing.

ActivityAndroidFragment
0 likes · 13 min read
Android Routing Management: Activity, Fragment, and Hybrid Page Navigation
The Dominant Programmer
The Dominant Programmer
Nov 8, 2021 · Mobile Development

Read NFC Tag ID on Android to Use as Unique User Identifier

The article explains how to read an NFC card’s UID on Android, use it as a unique user identifier for login verification, and walks through required permissions, setting the activity launch mode to singleTop, designing the UI layout, handling NFC intents, converting the UID to a hex string, and debugging the implementation.

AndroidForeground DispatchIntent
0 likes · 8 min read
Read NFC Tag ID on Android to Use as Unique User Identifier
Alibaba Terminal Technology
Alibaba Terminal Technology
Nov 8, 2021 · Mobile Development

How Youku Reduced App Size and Crashes When Embedding Alipay Mini‑Program SDK

This article explains how Youku tackled the large package size, thread‑explosion, and memory overhead introduced by integrating the Alipay mini‑program framework, using remote .so loading, layered dependency management, a unified thread pool, and lazy initialization to improve performance and stability.

AndroidAppOptimizationLazyLoading
0 likes · 10 min read
How Youku Reduced App Size and Crashes When Embedding Alipay Mini‑Program SDK
Coolpad Technology Team
Coolpad Technology Team
Nov 6, 2021 · Mobile Development

Analysis of Intermittent Unresponsive Touch Events in Feishu Caused by Process D State and Memory Compression

The article investigates why the Feishu app sometimes fails to respond to swipe gestures after a hot start, tracing the issue to the app entering a D (uninterruptible) state during memory compression, and demonstrates how adjusting CPU priority for compression threads can reduce the problem's occurrence.

AndroidInput EventsMemory Compression
0 likes · 8 min read
Analysis of Intermittent Unresponsive Touch Events in Feishu Caused by Process D State and Memory Compression
Airbnb Technology Team
Airbnb Technology Team
Nov 4, 2021 · Mobile Development

Automated Screenshot Testing for Android Fragments Using MvRx and Happo

This article explains how Airbnb’s Android team extends its MvRx state‑simulation framework with a custom screenshot library and Happo integration to automatically capture, upload, and compare fragment UI snapshots in CI, detecting visual regressions, layout issues, crashes and memory leaks across commits.

AndroidCIHappo
0 likes · 11 min read
Automated Screenshot Testing for Android Fragments Using MvRx and Happo
ByteDance Dali Intelligent Technology Team
ByteDance Dali Intelligent Technology Team
Nov 3, 2021 · Backend Development

How We Slashed Android Gradle Sync Time from 8 Minutes to 1.5 Minutes

Facing 8‑minute Gradle syncs, frequent GC‑over‑limit errors, and excessive memory usage, the team diagnosed severe memory leaks in Android build configurations, applied variantFilter filtering, tuned JVM arguments, and optimized daemon settings, ultimately reducing sync time to 1.5 minutes and cutting CI build time in half.

AndroidBuild OptimizationGradle
0 likes · 15 min read
How We Slashed Android Gradle Sync Time from 8 Minutes to 1.5 Minutes
Snowball Engineer Team
Snowball Engineer Team
Oct 28, 2021 · Mobile Development

Redesigning Snowball's Android Network Framework with OkHttp and Retrofit: Architecture, Issues, and Migration

This article details the redesign of Snowball's Android network framework using OkHttp and Retrofit, covering motivations, architectural layers, solutions for domain switching, custom annotations, data validation, migration strategy, and the resulting performance and maintainability improvements.

AndroidKotlinNetwork
0 likes · 17 min read
Redesigning Snowball's Android Network Framework with OkHttp and Retrofit: Architecture, Issues, and Migration
ByteDance Terminal Technology
ByteDance Terminal Technology
Oct 28, 2021 · Mobile Development

MemCorruption Tool for Detecting Memory Corruption Issues in Android Apps

The MemCorruption tool, developed by ByteDance's AppHealth team, provides an online, low‑overhead solution for detecting Use‑After‑Free, Double‑Free, and Heap‑Buffer‑Overflow problems in Android applications by hooking memory allocation functions, sampling allocations, and performing invisible SIGSEGV‑based detection.

AndroidNative DebuggingPerformance Monitoring
0 likes · 12 min read
MemCorruption Tool for Detecting Memory Corruption Issues in Android Apps
Coolpad Technology Team
Coolpad Technology Team
Oct 26, 2021 · Mobile Development

Understanding ART Garbage Collection in Android: Fundamentals, Mechanisms, and Performance Optimizations

This article introduces the fundamentals of Android Runtime (ART) garbage collection, covering its historical background, key milestones, core features such as RegionTLAB, read barriers, pause behavior, generational support, target heap size calculations, multiplier impact, GC trigger thresholds, Systrace analysis, and parameter tuning strategies.

ARTAndroidGarbage Collection
0 likes · 23 min read
Understanding ART Garbage Collection in Android: Fundamentals, Mechanisms, and Performance Optimizations
Yang Money Pot Technology Team
Yang Money Pot Technology Team
Oct 26, 2021 · Mobile Development

Encapsulating Retrofit with Kotlin Coroutines in Android: Two Approaches

This article explains how to combine Retrofit with Kotlin coroutines on Android, compares the traditional RxJava method with coroutine-based implementations, and presents two encapsulation techniques—using a DSL and leveraging CoroutineExceptionHandler—to simplify asynchronous network calls and centralize error handling.

AndroidCoroutinesDSL
0 likes · 14 min read
Encapsulating Retrofit with Kotlin Coroutines in Android: Two Approaches
Sohu Tech Products
Sohu Tech Products
Oct 20, 2021 · Mobile Development

Kotlin Network Request Wrappers with LiveData: Two Approaches, Code Samples, and Comparison

This article explains two Kotlin‑based network request wrappers for Android that reduce boilerplate by using LiveData, Retrofit, OkHttp and coroutines, compares their design trade‑offs, provides complete Activity, ViewModel, Repository and BaseRepository code samples, and shows how to handle loading, success, error and multiple data sources in a clean MVVM architecture.

AndroidCoroutinesKotlin
0 likes · 10 min read
Kotlin Network Request Wrappers with LiveData: Two Approaches, Code Samples, and Comparison
Sohu Tech Products
Sohu Tech Products
Oct 20, 2021 · Information Security

Overview of Android App Hardening and Unpacking Techniques Across Generations

This article provides a comprehensive overview of Android app hardening methods, detailing the evolution from first‑generation dex and so protection to advanced code virtualization, and outlines various unpacking (脱壳) techniques—including memory dump, dynamic debugging, hook‑based and custom ROM approaches—used to bypass these protections.

AndroidDEXFrida
0 likes · 11 min read
Overview of Android App Hardening and Unpacking Techniques Across Generations
vivo Internet Technology
vivo Internet Technology
Oct 20, 2021 · Mobile Development

Understanding AAPT2: Android Resource Compilation and the FLAT File Format

AAPT2, the default Android resource compiler, splits resource processing into compile and link stages, converting XML, PNG, and other files into binary FLAT containers that embed both raw data and metadata, enabling incremental builds, configurable options, and efficient merging into the final APK’s resources.arsc and R.java.

AAPT2AndroidBuild Tools
0 likes · 25 min read
Understanding AAPT2: Android Resource Compilation and the FLAT File Format
ByteDance Dali Intelligent Technology Team
ByteDance Dali Intelligent Technology Team
Oct 20, 2021 · Mobile Development

Bypassing Android dex2oat Restrictions for targetSdkVersion ≥ 29: Analysis and Implementation

This article investigates the Android dex2oat compilation restrictions introduced for targetSdkVersion ≥ 29, analyzes their impact on app performance, explores SELinux enforcement, and presents a practical solution using system commands and binder calls to trigger dex2oat compilation for both primary and secondary APKs, improving load and runtime speed.

APKAndroidCompilation
0 likes · 19 min read
Bypassing Android dex2oat Restrictions for targetSdkVersion ≥ 29: Analysis and Implementation
OPPO Kernel Craftsman
OPPO Kernel Craftsman
Oct 15, 2021 · Operations

OverlayFS: Mounting, File Operations, and Android Use Cases

OverlayFS is a stacking file system that merges lower and upper directories into a single view using mount options like lowerdir, upperdir, and workdir, supports copy‑up, whiteouts, opaque directories and configurable rename handling, and is employed in Android, OpenWRT, and container platforms to provide writable overlays on read‑only layers.

AndroidLinuxMount
0 likes · 8 min read
OverlayFS: Mounting, File Operations, and Android Use Cases
Java Architect Essentials
Java Architect Essentials
Oct 14, 2021 · Backend Development

Analysis of Alipay Android Wallet System Architecture and MetaQ Distributed Messaging Middleware

This article presents a detailed overview of Alipay's Android wallet system architecture, illustrating its core components such as settlement, customer service, fund processing, and accounting, and further examines the open‑source MetaQ (Metamorphosis) distributed messaging middleware, highlighting its features, advantages over Kafka, and suitable application scenarios.

AlipayAndroidDistributed Messaging
0 likes · 5 min read
Analysis of Alipay Android Wallet System Architecture and MetaQ Distributed Messaging Middleware
Sohu Tech Products
Sohu Tech Products
Oct 14, 2021 · Mobile Development

Advanced Android 12 Widget Features: Reconfigurable Widgets, Default Configurations, Size Limits, and New APIs

This article explains how Android 12 introduces reconfigurable widgets, default configuration flags, new size attributes, responsive layouts, compound button interactions, and simplified collection RemoteViews, providing developers with richer, more interactive widget experiences on mobile devices.

AndroidAppWidgetKotlin
0 likes · 9 min read
Advanced Android 12 Widget Features: Reconfigurable Widgets, Default Configurations, Size Limits, and New APIs
Sohu Tech Products
Sohu Tech Products
Oct 14, 2021 · Mobile Development

Understanding Android ViewGroup: Concepts, Drawing Process, Measure/Layout/Draw, and Custom Implementation

This article explains the fundamentals of Android ViewGroup, its coordinate systems, the complete drawing pipeline from Activity creation to SurfaceFlinger, details the Measure‑Layout‑Draw phases, and provides a step‑by‑step guide to building a custom ViewGroup with custom LayoutParams and practical examples.

AndroidCustom LayoutDraw
0 likes · 12 min read
Understanding Android ViewGroup: Concepts, Drawing Process, Measure/Layout/Draw, and Custom Implementation
vivo Internet Technology
vivo Internet Technology
Oct 13, 2021 · Mobile Development

Jetpack Compose Animation Tutorial

This Jetpack Compose animation tutorial demonstrates how to create state‑driven, visibility, size, cross‑fade, single‑value, and composite animations using declarative APIs such as remember, mutableStateOf, AnimatedVisibility, animateContentSize, animate*AsState, and updateTransition, showing concise Kotlin code that simplifies UI animation development.

AndroidComposeJetpack Compose
0 likes · 10 min read
Jetpack Compose Animation Tutorial