피드로 돌아가기
Why I Built my Own Suite of Android Tools for macOS in Rust
Dev.toDev.to
Infrastructure

Rust와 Tauri v2 기반 RAM 93% 절감 및 고효율 Android 툴킷 구현

Why I Built my Own Suite of Android Tools for macOS in Rust

hiyoyo2026년 6월 22일4intermediate

Context

기존 Android File Transfer의 잦은 크래시와 Electron 기반 ADB GUI의 과도한 메모리 점유(300-500MB)로 인한 저사양 하드웨어 성능 저하 발생. IDE 의존적인 툴셋 구조로 인해 단순 작업 시에도 전체 IDE를 구동해야 하는 오버헤드 존재.

Technical Solution

  • Chromium 번들링을 제거하고 시스템 WebView를 활용하는 Tauri v2 채택을 통한 Runtime 메모리 최소화
  • Memory Safety와 Concurrency 확보를 위해 Rust 기반의 Custom MTP Engine 및 ADB 스트리밍 로직 설계
  • nusb 라이브러리를 활용한 6-lane Parallel Transfer 구현으로 MTP 파일 전송 병목 해결
  • 공통 기능(Licensing, Path, Auto-start)을 hiyoko-helper Crate로 모듈화하여 각 앱의 독립적 배포 및 유지보수 구조 확립
  • Local-first 아키텍처 설계를 통한 민감 데이터의 기기 내 처리 및 보안 강화

Impact

  • 앱당 메모리 점유율을 350MB(Electron)에서 25MB(Tauri v2)로 약 93% 감소
  • 10개 앱 전체 구동 시 총 RAM Footprint를 80MB 미만으로 유지
  • 8년 된 Intel MacBook Air 환경에서 안정적인 동작 검증

1. 리소스 제약 환경의 앱 설계 시 Electron 대신 시스템 웹뷰 기반의 Tauri 검토

2. 도메인별 기능 분리를 위해 공통 로직을 공유 라이브러리(Crate)로 추상화하여 독립적 배포 구조 구축

3. I/O 집약적 작업 시 Parallel Transfer와 같은 동시성 모델 도입을 통한 처리량 개선

4. 저사양 하드웨어를 기준점으로 설정한 성능 벤치마킹을 통해 소프트웨어 효율성 강제

원문 읽기