Tagged articles

Android

1864 articles · Page 14 of 19
FunTester
FunTester
Aug 9, 2019 · Mobile Development

Programmatically Controlling WiFi for Stable Android Monkey Testing

When running unattended Android monkey tests, unexpected WiFi shutdowns can disrupt results, so this guide shows how to build a lightweight Java app that checks WiFi status every minute and toggles it every ten minutes using ADB commands to keep the network stable.

ADBAndroidJava
0 likes · 5 min read
Programmatically Controlling WiFi for Stable Android Monkey Testing
Qunar Tech Salon
Qunar Tech Salon
Aug 7, 2019 · Mobile Development

Performance Optimization of Baidu App Landing Page: Hybrid Architecture, Backend Direct Output, Prefetch and Interception

This article details how Baidu App reduced the landing‑page first‑screen load from over 2600 ms to under 2000 ms by analyzing user feedback, instrumenting each loading stage of its Hybrid H5 solution, and applying a series of backend‑direct‑output, prefetch, WebView pre‑creation, lazy‑load and kernel‑level rendering optimizations together with code‑level fixes.

AndroidMobile DevelopmentPerformance Optimization
0 likes · 18 min read
Performance Optimization of Baidu App Landing Page: Hybrid Architecture, Backend Direct Output, Prefetch and Interception
360 Tech Engineering
360 Tech Engineering
Aug 6, 2019 · Mobile Development

Performance Comparison of JSON, Protocol Buffers, and FlatBuffers for H5‑Hybrid and Flutter Data Transmission

This article presents a real‑device performance test of three data serialization structures—JSON, Protocol Buffers, and FlatBuffers—used in H5‑Hybrid and Flutter development, analyzing their size, serialization/deserialization speed, and suitability for Android, Flutter, and H5 communication channels.

AndroidFlatBuffersFlutter
0 likes · 13 min read
Performance Comparison of JSON, Protocol Buffers, and FlatBuffers for H5‑Hybrid and Flutter Data Transmission
FunTester
FunTester
Aug 3, 2019 · Mobile Development

Recursive Login Handling in Android UiAutomator for Automated Testing

To avoid test failures caused by being logged into an unintended account, the author implements a recursive login routine in an Android UiAutomator script that checks the current user, logs out if necessary, and re‑logs in with the correct credentials, illustrating a concise and reusable testing solution.

AndroidRecursive FunctionUI automation
0 likes · 2 min read
Recursive Login Handling in Android UiAutomator for Automated Testing
vivo Internet Technology
vivo Internet Technology
Jul 29, 2019 · Mobile Development

ARetrofit: Android Component Communication Routing Framework

ARetrofit is an Android routing framework that enables concise, component‑to‑component communication by generating compile‑time route metadata via annotation processing, injecting bytecode with the Transform API, creating service proxies through dynamic proxies, and applying an OkHttp‑style interceptor chain for flexible, cross‑module extensions.

AOPAndroidAnnotation Processor
0 likes · 13 min read
ARetrofit: Android Component Communication Routing Framework
Youzan Coder
Youzan Coder
Jul 26, 2019 · Mobile Development

Flutter Hybrid Integration Solution for Native Mobile Apps

The article presents YouZan’s hybrid integration strategy that packages each Flutter feature as an independent artifact—AAR files for Android and frameworks for iOS—allowing native teams to embed Flutter modules via simple scripts and Maven uploads without needing a full Flutter development environment.

AARAndroidFlutter
0 likes · 12 min read
Flutter Hybrid Integration Solution for Native Mobile Apps
Youzan Coder
Youzan Coder
Jul 24, 2019 · Mobile Development

Mastering Flutter Plugins: Architecture, Development, Testing, and Publishing

This comprehensive guide explains what Flutter plugins are, why they are essential, the MethodChannel communication model, step‑by‑step plugin creation, common pitfalls, testing strategies, publishing to public or private repositories, and a real‑world case study of a routing plugin, providing all the code and configuration details developers need to build and distribute their own Flutter plugins.

AndroidDartFlutter
0 likes · 20 min read
Mastering Flutter Plugins: Architecture, Development, Testing, and Publishing
Youzan Coder
Youzan Coder
Jul 19, 2019 · User Experience Design

How UI Standardization Transformed Youzan Retail’s Mobile Apps

This article details the background, challenges, and step‑by‑step solution for standardizing UI across Youzan Retail’s iOS and Android apps, covering designer and developer perspectives, the creation of a shared style library, component architecture, resource management, delivery outcomes, pitfalls, and future automation plans.

AndroidComponent LibraryMobile Development
0 likes · 17 min read
How UI Standardization Transformed Youzan Retail’s Mobile Apps
360 Quality & Efficiency
360 Quality & Efficiency
Jul 19, 2019 · Mobile Development

Implementing Sequential UI Traversal for Android Apps Using UIAutomator on the 360 Open Testing Platform

This article explains how to perform ordered UI traversal of an Android application with UIAutomator on the 360 Open Testing platform, covering required parameters, a seven‑step implementation process, UI change listening via AccessibilityService, element dumping, sorting, comparison methods, interaction automation, and termination conditions.

360 Open TestingAccessibilityServiceAndroid
0 likes · 4 min read
Implementing Sequential UI Traversal for Android Apps Using UIAutomator on the 360 Open Testing Platform
Xianyu Technology
Xianyu Technology
Jul 16, 2019 · Mobile Development

Mobile Accessibility Optimization for Xianyu's Flutter & Native App

Xianyu integrated accessibility directly into its Flutter‑Native hybrid app, establishing a systematic workflow—from design to monitoring—that makes all interactive elements focusable, described, and properly ordered, enabling over 40 000 visually impaired users to navigate the marketplace with an 87.5% issue‑fix rate.

AndroidUIaccessibility
0 likes · 7 min read
Mobile Accessibility Optimization for Xianyu's Flutter & Native App
360 Tech Engineering
360 Tech Engineering
Jul 15, 2019 · Mobile Development

Detailed Analysis of Android ClassLoader Loading Mechanism

This article provides an in‑depth examination of Android's ClassLoader architecture, explaining how BaseDexClassLoader.findClass() and ClassLoader.loadClass() locate and load classes, with step‑by‑step source code analysis of loadClass, findLoadedClass, findClass, DexPathList, DexFile, and native class definition processes.

AndroidClassLoaderDEX
0 likes · 11 min read
Detailed Analysis of Android ClassLoader Loading Mechanism
Sohu Tech Products
Sohu Tech Products
Jul 10, 2019 · Mobile Development

Using Annotation Processing Tool (APT) for Automated Code Generation in Android Development

This article explains the concept and practical application of the Annotation Processing Tool (APT) in Android development, demonstrating how to set up an APT project, define annotations, process them with custom processors, and automatically generate Java code for activity navigation using JavaPoet.

AndroidAnnotation ProcessingCode Generation
0 likes · 15 min read
Using Annotation Processing Tool (APT) for Automated Code Generation in Android Development
Youzan Coder
Youzan Coder
Jul 10, 2019 · Mobile Development

Implementation of Local Packet Capture in Youzan Mobile Assistant Using VPNService, tun2socks, and Socket.IO

The article details how the Youzan Mobile Assistant adds a local packet‑capture module that leverages Android VpnService/iOS NetworkExtension and tun2socks to route traffic through a SOCKS5 proxy, then uses Socket.IO to push request and response data in real time to the app’s UI while keeping the app alive in the background.

AndroidMobile DevelopmentSocket.IO
0 likes · 12 min read
Implementation of Local Packet Capture in Youzan Mobile Assistant Using VPNService, tun2socks, and Socket.IO
ITPUB
ITPUB
Jul 9, 2019 · Information Security

How Android Apps, Zoom, and Didi Expose Major Security and Privacy Gaps

Recent reports reveal that many Android apps secretly collect location and identifier data despite denied permissions, a zero‑day Zoom flaw lets any website hijack Mac cameras, and Didi adjusts its pricing, while a man released after splashing water on Baidu's CEO highlights broader tech‑related news.

AndroidDidiZoom
0 likes · 4 min read
How Android Apps, Zoom, and Didi Expose Major Security and Privacy Gaps
Amap Tech
Amap Tech
Jul 9, 2019 · Mobile Development

Using Java Bytecode for Android Module Dependency Analysis

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

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

Understanding and Optimizing Android Activity Startup Performance

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

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

Exploration of Android App Bundle Dynamic Loading with the Qigsaw Framework

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

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

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

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

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

From Monolithic Android App to Modular Architecture: Lessons and Strategies

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

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

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

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

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

xCrash: An Open-Source Android Crash Capture SDK Overview

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

AndroidCrash ReportingNative
0 likes · 17 min read
xCrash: An Open-Source Android Crash Capture SDK Overview
Baidu Intelligent Testing
Baidu Intelligent Testing
Jun 14, 2019 · Mobile Development

Understanding Video SDK Architecture, Playback Principles, and Testing Practices

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Kotlin Coroutine Failure After Resource Obfuscation in Android APK

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

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

Introduction to AspectJ for Android Development and Gradle Plugin Integration

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

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

Common Patterns for H5 and Native App Interaction

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

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

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

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

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

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

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

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

Deep Dive into ASM for Android Bytecode Instrumentation and OkHttp Monitoring

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

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

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

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

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

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

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

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

Android Componentization Architecture Practice in the Smart Train Ticket Project

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

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

Modular Architecture and Componentization for Youzan Android Applications

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

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

DoraemonKit: A Comprehensive Mobile Development Debugging Toolkit

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

AndroidDoraemonKitdevelopment toolkit
0 likes · 9 min read
DoraemonKit: A Comprehensive Mobile Development Debugging Toolkit
Baidu App Technology
Baidu App Technology
Apr 22, 2019 · Mobile Development

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

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

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

Common Wrapper Classes for Android BufferQueue: Surface and SurfaceTexture

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

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

Understanding Android BufferQueue: Architecture and Internal Operations

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

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

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

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

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

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

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

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

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

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

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

Analysis and Mitigation of Android finalize() TimeoutException Crashes

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

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

Understanding LiveData and Event Bus Implementations in Android

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

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

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

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

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

Design and Implementation of a Mobile Log Retrieval Component

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

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

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

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

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

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

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

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

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

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

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

Connection Optimization Techniques in Baidu App: TLS and TCP Enhancements

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

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

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

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

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

Simplifying Android Photo Capture with the PhotoTaker Utility

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

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

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

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

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

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

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

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

Managing Android Fragment Back Stack with the FragmentOperator Library

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

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

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

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

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

How ResourceCanary Automates Android Activity Leak and Bitmap Redundancy Detection

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

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

Deep Network Optimization in Baidu App: DNS and HTTPDNS Practices

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

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

Componentization and Modular Event Message Bus in Meituan Android Apps

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

AndroidComponentizationLiveData
0 likes · 18 min read
Componentization and Modular Event Message Bus in Meituan Android Apps
Tencent Music Tech Team
Tencent Music Tech Team
Dec 18, 2018 · Mobile Development

Technical Insights from QQ Music’s Android Team on Adapting to Android 9 Pie

QQ Music’s Android team modernized the app for Android 9 Pie by integrating full‑screen displays, native notifications, and enhanced memory profiling, while re‑architecting its dual‑process playback system to cut memory use up to 50%, and adopting Kotlin to shrink code by 25% and halve null‑pointer crashes, delivering a smoother listening experience.

AndroidAndroid 9 PieKotlin
0 likes · 4 min read
Technical Insights from QQ Music’s Android Team on Adapting to Android 9 Pie
58 Tech
58 Tech
Dec 14, 2018 · Mobile Development

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

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

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

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

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

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

Cross-Platform Receipt Printing Solution for Retail Applications

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

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

Gradle Product Flavors for Multi‑Channel Android Packaging

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

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

Zero‑Adapter Multi‑Item RecyclerView Library for Android

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

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

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

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

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

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

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

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

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

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

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

Flutter Initialization Process and Performance Optimization

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

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

Article | Zhao Hengyu on Mobile

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

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

Can Unified Push Standards Save Android Battery and Simplify Development?

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

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

Understanding VSync and Measuring Smoothness on Android

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

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

Comprehensive Overview of Mobile Testing Tools and Practices

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

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

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

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

ActivityLifecycleAndroidDecorView
0 likes · 6 min read
Adding a Persistent Floating Button to Every Android Screen via DecorView Instead of WindowManager