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
ARTのメモリ管理
Search
haru067
April 25, 2015
Programming
8
15k
ARTのメモリ管理
haru067
April 25, 2015
Tweet
Share
More Decks by haru067
See All by haru067
Jetpack Compose: 効果的なComposable関数のAPI設計
haru067
2
7.2k
いかにしてアプリの起動時間を改善するか
haru067
3
2.1k
REALITY Androidにおけるマルチモジュール移行
haru067
0
1.4k
Immutable data holder
haru067
1
1.3k
Other Decks in Programming
See All in Programming
なぜ今、Terraformの本を書いたのか? - 著者陣に聞く!『Terraformではじめる実践IaC』登壇資料
fufuhu
4
670
Ruby Parser progress report 2025
yui_knk
1
140
Langfuseと歩む生成AI活用推進
licux
3
310
TanStack DB ~状態管理の新しい考え方~
bmthd
2
340
兎に角、コードレビュー
mitohato14
0
150
The state patternの実践 個人開発で培ったpractice集
miyanokomiya
0
150
ゲームの物理
fadis
5
1.5k
CSC305 Summer Lecture 12
javiergs
PRO
0
130
AIでLINEスタンプを作ってみた
eycjur
1
210
あのころの iPod を どうにか再生させたい
orumin
2
2.5k
デザインシステムが必須の時代に
yosuke_furukawa
PRO
2
110
STUNMESH-go: Wireguard NAT穿隧工具的源起與介紹
tjjh89017
0
390
Featured
See All Featured
Scaling GitHub
holman
462
140k
Building Adaptive Systems
keathley
43
2.7k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
The Language of Interfaces
destraynor
160
25k
The Invisible Side of Design
smashingmag
301
51k
A Modern Web Designer's Workflow
chriscoyier
695
190k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Transcript
"35ͷϝϞϦཧ %SPJE,BJHJ!IBSV
ࣗݾհ ˔ 5XJUUFSΫϥΠΞϯτ 4IPPUJOH4UBSͷ։ൃऀ !IBSV
ࣗݾհ ˔ 5XJUUFSΫϥΠΞϯτ 4IPPUJOH4UBSͷ։ൃऀ ʢͨ·ʹਅ໘ͳΛʣ !IBSV
"OESPJEͷ($ͷྺ࢙ Y %BMWJL7. "35
"OESPJEͷ($ͷྺ࢙ 'SPZP ˔ ϚʔΫεΠʔϓ($ ˔ ($தΞϓϦέʔγϣϯ͕ఀࢭͯ͠͠·͏ ʢ458ɼ4UPQ5IF8PSMEʣ Y
%BMWJL7. "35
"OESPJEͷ($ͷྺ࢙ (JOHFSCSFBE ˔ .PTUMZ$PODVSSFOU($ ˔ ϚʔΫεΠʔϓ($ΛΞϓϦέʔγϣϯͱ ΄΅ฒߦʹ࣮ߦɽఀࢭ࣌ؒେ͖͘վળ Y
%BMWJL7. "35
"OESPJEͷ($ͷྺ࢙ Y*$4 +FMMZ#FBO ˔ େ͖ͳมߋͳ͠ ˔ .PTUMZ$PODVSSFOU($ ʢฒߦϚʔΫεΠʔϓ($ʣ
Y %BMWJL7. "35
"OESPJEͷ($ͷྺ࢙ ,JULBU ˔ "35ͳΔϥϯλΠϜ͕ग़ݱ ˔ σϑΥϧτ·ͩ%BMWJL7. Y
%BMWJL7. "35
"OESPJEͷ($ͷྺ࢙ -PMMJQPQ ˔ "35͕σϑΥϧτʹɼ%BMWJLരൃ࢛ࢄ ˔ ϥϯλΠϜ͕ସΘͬͯ($ͱ͔৭ʑͱมΘͬͨ Y
%BMWJL7. "35
Կ͕มΘͬͨͷ͔ʁ
ฒߦ($ͷఀࢭ࣌ؒ
%BMWJL7. ˔ ϧʔτεΩϟϯͱ࠶ϚʔΫͰΞϓϦ͕ఀࢭ͢Δ "35 ˔ ϧʔτεΩϟϯͱ࠶ϚʔΫͷҰ෦Λฒߦʹॲཧ ͕͜͜มΘͬͨɿฒߦ($ͷఀࢭՕॴ ϧʔτ εΩϟϯ ϚʔΫ
࠶ϚʔΫ εΠʔϓ ϧʔτ εΩϟϯ ϚʔΫ ࠶ϚʔΫ εΠʔϓ
%BMWJL7. ˔ ϧʔτεΩϟϯͱ࠶ϚʔΫͰΞϓϦ͕ఀࢭ͢Δ "35 ˔ ϧʔτεΩϟϯͱ࠶ϚʔΫͷҰ෦Λฒߦʹॲཧ ͕͜͜มΘͬͨɿฒߦ($ͷఀࢭՕॴ ϧʔτ εΩϟϯ ϚʔΫ
࠶ϚʔΫ εΠʔϓ ϧʔτ εΩϟϯ ϚʔΫ ࠶ϚʔΫ εΠʔϓ dϛϦඵ͙Β͍
%BMWJL7. ˔ ϧʔτεΩϟϯͱ࠶ϚʔΫͰΞϓϦ͕ఀࢭ͢Δ "35 ˔ ϧʔτεΩϟϯͱ࠶ϚʔΫͷҰ෦Λฒߦʹॲཧ ͕͜͜มΘͬͨɿฒߦ($ͷఀࢭՕॴ ϧʔτ εΩϟϯ ϚʔΫ
࠶ϚʔΫ εΠʔϓ ϧʔτ εΩϟϯ ϚʔΫ ࠶ϚʔΫ εΠʔϓ
%BMWJL7. ˔ ϧʔτεΩϟϯͱ࠶ϚʔΫͰΞϓϦ͕ఀࢭ͢Δ "35 ˔ ϧʔτεΩϟϯͱ࠶ϚʔΫͷҰ෦Λฒߦʹॲཧ ͕͜͜มΘͬͨɿฒߦ($ͷఀࢭՕॴ ϧʔτ εΩϟϯ ϚʔΫ
࠶ϚʔΫ εΠʔϓ ϧʔτ εΩϟϯ ϚʔΫ ࠶ϚʔΫ εΠʔϓ ϛϦඵ͙Β͍
"35ͷฒߦ($εΰΠʂ
ฒߦ͡Όͳ͍΄͏ʁ ˔ 458($ ˔ MPHDBUʹग़ͯ͘Δ($@'03@"--0$͜Ε ˔ ϝϞϦྖҬ͕ෆ͢Δͱൃੜ ˔ ฏؾͰΞϓϦ͕ඵࢭ·ͬͨΓ͢Δ ൃੜ͢Δͱ໌Β͔ʹϠό͍
ฒߦ͡Όͳ͍΄͏ʁ ˔ 458($ ˔ MPHDBUʹग़ͯ͘Δ($@'03@"--0$͜Ε ˔ ϝϞϦྖҬ͕ෆ͢Δͱൃੜ ˔ ฏؾͰΞϓϦ͕ඵࢭ·ͬͨΓ͢Δ ൃੜ͢Δͱ໌Β͔ʹϠό͍
ϩάݟΔͱׂͱൃੜͯͨ͠Γ͢Δ
ʀʅЧʆ
458($ͷൃੜݪҼͦͷ̍ ˔ அยԽʹΑΔϝϞϦׂͯͷࣦഊ ʮۭ͍ͯΔͱ͜Ζνϥϗϥ͋Δ͚ͲೖΒͳ͍ʯ ˔ ΞϓϦέʔγϣϯ͝ΈͷճऩΛͨͳ͍ͱ͍ ͚ͳ͍ ώʔϓ ۭ͖ྖҬ ༻த
PCK ʁ
ʁ
σϑϥά͢Ε͍͍͡ΌΜ ˔ σϑϥάʹੌ͍͕͔͔࣌ؒΔ ˔ ώʔϓΛԿεΩϟϯ͢Δඞཁ͕͋Δ ˔ σϑϥά͍ͯ͠ΔؒΞϓϦέʔγϣϯ͕ఀࢭ ˔ ͱͯͭΒ͍
"35Ͳ͏ͯ͠Δͷ ˔ େ͖͍ΦϒδΣΫτ͕ॾѱͷࠜݯ ώʔϓ ۭ͖ྖҬ ༻த PCK
"35Ͳ͏ͯ͠Δͷ ˔ େ͖͍ΦϒδΣΫτ͕ॾѱͷࠜݯ ʮσϒిंʹΔͳʯ ώʔϓ ۭ͖ྖҬ ༻த PCK
͕͜͜มΘͬͨɿஅยԽରࡦ ˔ େ͖͍ΦϒδΣΫτΛผͷྖҬͰཧ ʮσϒઐ༻ं྆Λͭ͘Ζ͏ʯ ˔ -BSHF0CKFDU4QBDFʢ-04ʣ ௨ৗ༻ ۭ͖ྖҬ ༻த Ͱ͔͍ͭΒʢେ͖Ίͷྻͱ͔ʣ༻
"35͕ΜͬͯΔ
458($ͷൃੜݪҼͦͷ̎ ˔ ϝϞϦׂ͕ܹͯͯ͘͠ฒߦ($͕͍͔ͭͳ͍ ΞϓϦ࣮ߦ
458($ͷൃੜݪҼͦͷ̎ ˔ ϝϞϦׂ͕ܹͯͯ͘͠ฒߦ($͕͍͔ͭͳ͍ ฒߦ($ ΞϓϦ࣮ߦ
458($ͷൃੜݪҼͦͷ̎ ˔ ϝϞϦׂ͕ܹͯͯ͘͠ฒߦ($͕͍͔ͭͳ͍ ฒߦ($ ΞϓϦ࣮ߦ ΞϓϦ࣮ߦ
458($ͷൃੜݪҼͦͷ̎ ˔ ϝϞϦׂ͕ܹͯͯ͘͠ฒߦ($͕͍͔ͭͳ͍ ฒߦ($ ΞϓϦ࣮ߦ ΞϓϦ࣮ߦ ฒߦ($
458($ͷൃੜݪҼͦͷ̎ ˔ ϝϞϦׂ͕ܹͯͯ͘͠ฒߦ($͕͍͔ͭͳ͍ ฒߦ($ ΞϓϦ࣮ߦ ΞϓϦ࣮ߦ ฒߦ($ ϝϞϦਚ͖·ͨ͠
458($ͷൃੜݪҼͦͷ̎ ˔ ϝϞϦׂ͕ܹͯͯ͘͠ฒߦ($͕͍͔ͭͳ͍ ฒߦ($ ΞϓϦ࣮ߦ ΞϓϦ࣮ߦ ฒߦ($ ϝϞϦਚ͖·ͨ͠ 458($
458($ͷൃੜݪҼͦͷ̎ ˔ ϝϞϦׂ͕ܹͯͯ͘͠ฒߦ($͕͍͔ͭͳ͍ ฒߦ($ ΞϓϦ࣮ߦ ΞϓϦ࣮ߦ ฒߦ($ ϝϞϦਚ͖·ͨ͠ 458($
ฒߦ($ૣΊʹΕ͍͍͡ΌΜ ˔ ͍͍ͩͨ͋ͬͯΔ ˔ "35%BMWJLΑΓݡ͘ฒߦ($Λ࣮ߦͯ͠Δ ˔ جຊతʹۭ͖ྖҬ͕ҰఆΛ͑ͨΒ($ ˔ "35ϝϞϦׂͯසͱ͔ߟྀͭͭ͠($
"35͕ΜͬͯΔ
"35ͷఀࢭ࣌ؒ·ͱΊ ˔ ฒߦ($ͰɼΞϓϦΛఀࢭ্ͤͨ͞ͰͷॲཧΛݮ ˔ 458($ͷൃੜසΛ͑Δ ˔ -BSHF0CKFDU4QBDFʹΑΔஅยԽରࡦ ˔ ΑΓ͜·ʹɼલͬͯฒߦ($ ฏۉఀࢭ࣌ؒΛ͘
࣌ؒͷఀࢭΛ͑Δ
ΊͰͨ͠ʁ
˔ 458($ͷൃੜ͑ΒΕΔ ˔ εϧʔϓοτʢ࣮ߦ࣌ؒʣѱ͘ͳΔ ΉΈʹฒߦ($Λ࣮ߦ͍͍ͯ͠ͷ͔ʁ
˔ 458($ͷൃੜ͑ΒΕΔ ˔ εϧʔϓοτʢ࣮ߦ࣌ؒʣѱ͘ͳΔ ΉΈʹฒߦ($Λ࣮ߦ͍͍ͯ͠ͷ͔ʁ ࣮ߦ࣌ؒͬͪ͜ͷ΄͏͕͍
εϧʔϓοτ
͕͜͜มΘͬͨɿฒྻ($ ˔ ($ͷॲཧΛฒྻ࣮ߦͯ͠ߴԽ ˔ ϚϧνίΞ$16ࡌ͕૿͑ͯΔ͜ͱͩ͠ ˔ ͷ($ʹ͔͔Δ࣌ؒΛॖ ˔ ࠶ϚʔΫͷఀࢭ͢Δॲཧ͘ͳͬͯخ͍͠ ϧʔτ
εΩϟϯ ϚʔΫ ࠶ϚʔΫ εΠʔϓ
͕͜͜มΘͬͨɿฒྻ($ ˔ ($ͷॲཧΛฒྻ࣮ߦͯ͠ߴԽ ˔ ϚϧνίΞ$16ࡌ͕૿͑ͯΔ͜ͱͩ͠ ˔ ͷ($ʹ͔͔Δ࣌ؒΛॖ ˔ ࠶ϚʔΫͷఀࢭ͢Δॲཧ͘ͳͬͯخ͍͠
͕͜͜มΘͬͨɿੈผ($ ˔ ଟ͘ͷΦϒδΣΫτ໋Ͱ͋Δɼͱ͍͏ԾઆΛ ར༻ͨ͠($ ˔ 4UJDLZNBSLCJUT($ ˔ લճͷ($Ҏ߱ʹ࡞ΒΕͨ͝Έ͚ͩճऩ ($ ($
͕͜͜มΘͬͨɿੈผ($ ˔ ଟ͘ͷΦϒδΣΫτ໋Ͱ͋Δɼͱ͍͏ԾઆΛ ར༻ͨ͠($ ˔ 4UJDLZNBSLCJUT($ ˔ લճͷ($Ҏ߱ʹ࡞ΒΕͨ͝Έ͚ͩճऩ ($ ($
($ର ($ର֎
͕͜͜มΘͬͨɿੈผ($ ˔ ଟ͘ͷΦϒδΣΫτ໋Ͱ͋Δɼͱ͍͏ԾઆΛ ར༻ͨ͠($ ˔ 4UJDLZNBSLCJUT($ ˔ લճͷ($Ҏ߱ʹ࡞ΒΕͨ͝Έ͚ͩճऩ ($ ($
($ର ($ର֎ ϐϯϙΠϯτͰ͝ΈΛճऩ
͕͜͜มΘͬͨɿΞϩέʔλ ˔ %BMWJL7.ɿEMNBMMPD ˔ HMJCDͷNBMMPDʢͷେݩʹͳͬͨΞϩέʔλʣ ˔ ฒߦϝϞϦׂͯϩοΫͰഉଞ੍ޚ ˔ "35ɿ3PT"MMPD ˔
"35ಠࣗͷϝϞϦΞϩέʔλ ˔ 4FHSFHBUFEGSFFMJTU ˔ ฒߦϝϞϦׂͯʹରԠ
ฒߦϝϞϦׂͯ ώʔϓ ۭ͖ྖҬ ༻த εϨου εϨου
ฒߦϝϞϦׂͯ ώʔϓ ۭ͖ྖҬ ༻த εϨου new Object(); εϨου new Object();
·ͱΊ ˔ "35͕ΜͬͯΔ
·ͱΊ ˔ "35͕ΜͬͯΔ ˔ ͱ͍͏ΑΓ%BMWJL7.͕ΨόΨόͩͬͨʁ ˔ ͱʹ͔͘ؤுͬͯΔɼࠓޙʹظ
·ͱΊ ˔ ฒߦ($ͷఀࢭՕॴ͕ΑΓ͘ͳͬͨ ˔ 458($ͷൃੜස͕͘ͳͬͨ ˔ -BSHF0CKFDU4QBDFʹΑΔஅยԽରࡦ ˔ ͜·ʹฒߦ($ ˔
εϧʔϓοτվળ ˔ ฒߦ($ɼੈผ($ ˔ ϝϞϦׂͯͷฒߦॲཧʹରԠ ˔ 3PT"MMPD