Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
UaaL×Androidアプリのメモリ計測 — Memory Profilerの先へ
Search
Ryosuke Shimizu (RIO)
May 15, 2026
Programming
330
0
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)
KMP × Kotlin 2.3 - How Android Got Slower While iOS Builds Improved by 47%
rio432
0
770
KMP✖️Unity UaaL で月1,200件の自動PR -マルチリポ開発の課題と解決
rio432
0
70
Google Map with KMP
rio432
0
330
CameraXが変えるモバイル検索: 最新動向と実用的アプローチ
rio432
0
32
Kotlin Multiplatform でのリソース共有について
rio432
0
62
Other Decks in Programming
See All in Programming
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
150
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
170
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
320
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.7k
「人を評価する AI」の設計と実装
ryoyanara
0
180
プロポーザルを書いてもらう
pvcresin
0
310
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.9k
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
340
VibeCodingからAgenticWorkflowへ
starfish719
0
380
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
3
770
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
300
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
270
Featured
See All Featured
Side Projects
sachag
455
43k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
450
Fireside Chat
paigeccino
42
4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
790
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
440
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
270
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
400
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
400
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