Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
UaaL×Androidアプリのメモリ計測 — Memory Profilerの先へ
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Ryosuke Shimizu (RIO)
May 15, 2026
Programming
440
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
UaaL×Androidアプリのメモリ計測 — Memory Profilerの先へ
Ryosuke Shimizu (RIO)
May 15, 2026
More Decks by Ryosuke Shimizu (RIO)
See All by Ryosuke Shimizu (RIO)
「ほっぺを膨らませる」が高精度なのはなぜ?
rio432
1
16
MediaPipe Face Landmarkerの精度限界にどう立ち向かうか — ランドマーク幾何学による補正の実践 / Overcoming accuracy limits of MediaPipe Face Landmarker
rio432
1
57
KMP × Kotlin 2.3 - How Android Got Slower While iOS Builds Improved by 47%
rio432
1
1.5k
KMP✖️Unity UaaL で月1,200件の自動PR -マルチリポ開発の課題と解決
rio432
1
78
Google Map with KMP
rio432
1
360
CameraXが変えるモバイル検索: 最新動向と実用的アプローチ
rio432
1
43
Kotlin Multiplatform でのリソース共有について
rio432
1
69
Other Decks in Programming
See All in Programming
phperだってパンチカードでコーディングしたい
o0h
PRO
0
350
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
1.1k
contenteditable と日本語入力に向き合う
colorful12
0
200
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
0
130
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
160
Domain-Driven Transformation
hschwentner
2
2.3k
Next.js: The final boss of Web Performance
guaca
0
280
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
170
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
Performance Optimization With LLMs
xleitix
0
140
KiroのSpecで「五目並べ」を作ってみる
satoshi256kbyte
1
380
Featured
See All Featured
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
500
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
480
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
570
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
400
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
58k
The untapped power of vector embeddings
frankvandijk
2
1.9k
Statistics for Hackers
jakevdp
799
230k
Believing is Seeing
oripsolob
1
250
Transcript
RIO (Ryosuke Shimizu) UaaL×Androidアプリ のメモリ計測 Memory Profilerの先へ
Self Introduction My name is RIO @rioX432 ・Disney ・Chiikawa ・HoloLive
・Game Streaming ・Comfy UI etc RIO / Mobile App Engineer Avvy Avatar Live Streaming App
Avvyでのアバター描画の技術 Unity:一番下のレイヤーでアバターの レンダリングのみを担当 NativeUI:その上にオーバーレイ グレー:Unityのアバターの描画領域 黄色:Nativeのオーバーレイ Face Tracking iOSはARKit、AndroidはMediaPipe UaaLでUnityのアバター&背景を描画
AnotherBall Tech Blogより引⽤
5 Repository Structure Android / iOS / KMP / Unity
/ Unity SPM
Unity as a Library (UaaL) とは ネイティブアプリにUnityの描画エンジンを埋め込む - Unityのレンダリングエンジンをライブラリとしてネイティブアプリに組み込む技術 -
UI はネイティブ (Compose / SwiftUI)、3D/AR描画だけUnityが担当 - Unityランタイムがアプリと同一プロセスで動く → メモリも共有 採用アプリ例 : - Mirrativ — 3Dアバター配信 - REALITY — バーチャル配信 - ZOZO — 3D仮想試着 - NAVITIME — ARナビ 公式対応: Android (Kotlin/Java) / iOS (Swift/ObjC) Flutter / React Native もコミュニティパッケージ経由で利用可能 https://github.com/juicycleff/flutter-unity-view-widget https://pub.dev/packages/flutter_embed_unity https://github.com/azesmway/react-native-unity
アバター表⽰時のメモリ使⽤量 Memory Profilerでは中⾝が⾒えない
Live Telemetryでは全体の1.2GBと大まかな分類は見える。しかし Graphics 430MB / Others 470MB の中身は分解できない
+826MBの正体 GPU 44% / Unity CPU 43% — Java Heapはほぼゼロ
- GL mtrack (GPU textures) と Unknown (unclassified by OS) が二大要因 - Java Heap の増加はわずか +2MB
dumpsys meminfo で全体を⾒る adb shell dumpsys meminfo <package> dumpsys meminfoならGraphics/Othersの中身を
GL mtrack・EGL mtrack・Unknownに分解できる
まとめ 1. adb shell dumpsys meminfo <package> — アプリ全体のメモリ構造を把握 2.
adb shell dumpsys gpu — GPUメモリの実使⽤量を確認 3. Unity Profiler / SRDebugger — Unity内部のCPU側メモリ配分を確認 Memory Profilerだけでは「Graphics 430MB」の中⾝が⾒えない NDKやネイティブライブラリを含むアプリ全般に応⽤可能 3つの計測⼿段を使い分ける
「Avvyチーム、⾯⽩そうだな」と 思ったそこのあなたに! Avvyはまだ⾛り始めたばかりのサービスです。 今だからこそ挑戦できること、作っていける価値が 本当にたくさんあります。 あなたのご応募をお待ちしております。 おわりに 募集中のポジションの確認、応募は こちらのリンクから! https://anotherball.notion.site/open-positions