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
240
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
500
KMP✖️Unity UaaL で月1,200件の自動PR -マルチリポ開発の課題と解決
rio432
0
68
Google Map with KMP
rio432
0
330
CameraXが変えるモバイル検索: 最新動向と実用的アプローチ
rio432
0
30
Kotlin Multiplatform でのリソース共有について
rio432
0
56
Other Decks in Programming
See All in Programming
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
8
4.7k
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
230
Claspは野良GASの夢をみるか
takter00
0
190
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
260
OSもどきOS
arkw
0
560
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
760
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
12k
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.7k
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
170
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
160
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
540
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.3k
Featured
See All Featured
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
840
Git: the NoSQL Database
bkeepers
PRO
432
67k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
210
30 Presentation Tips
portentint
PRO
1
320
Abbi's Birthday
coloredviolet
2
8.1k
Rails Girls Zürich Keynote
gr2m
96
14k
HDC tutorial
michielstock
2
710
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
430
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
210
Mind Mapping
helmedeiros
PRO
1
250
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
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