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
arap_osaka_1
Search
Yosuke Fujii
September 28, 2019
Programming
1
310
arap_osaka_1
Yosuke Fujii
September 28, 2019
Tweet
Share
More Decks by Yosuke Fujii
See All by Yosuke Fujii
アプリ開発初心者が Androidアプリを作っている話
syousa1982
0
1.8k
アプリ開発初挑戦のチームでアプリ運用の自動化した話
syousa1982
0
250
Other Decks in Programming
See All in Programming
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
290
if constexpr文はテンプレート世界のラムダ式である
faithandbrave
3
710
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
140
From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
ivargrimstad
0
890
Webアプリをできるだけコードを手書きしないで作ってみる
tomokusaba
2
190
検証も兼ねて個人開発でHonoとかと向き合った話
hanetsuki
1
1.4k
障害対応を起点としたもっといい開発と運用のサイクル作りのためにできること / Hatena Enginner Seminar #29
polamjag
0
430
Amazon SQSコンシューマー疎結合への旅 - 出張! #DevelopersIO IT技術ブログの中の人が語る勉強会 #3
quiver
0
350
AppRouter Panel Talk
yosuke_furukawa
PRO
1
500
Hanami and htmx
bkuhlmann
0
230
2024 コーディング研修
ckazu
0
450
Scalable Customer Journey Orchestration (CJO)
lewuathe
0
450
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
358
22k
Unsuck your backbone
ammeep
664
57k
Building Flexible Design Systems
yeseniaperezcruz
320
37k
Building Your Own Lightsaber
phodgson
100
5.7k
Clear Off the Table
cherdarchuk
85
310k
What’s in a name? Adding method to the madness
productmarketing
PRO
17
2.7k
Faster Mobile Websites
deanohume
300
30k
We Have a Design System, Now What?
morganepeng
43
6.8k
BBQ
matthewcrist
80
8.8k
Web development in the modern age
philhawksworth
203
10k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
34
6.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
323
20k
Transcript
AndroidΞϓϦ ύϑΥʔϚϯενϡʔχϯά @syo_sa1982
• ͠ΐʔ͞(౻Ҫ ཅհ) • Twitter:@syo_sa1982 • GitHub:@syo-sa1982 • ωΫετΠϊϕʔγϣϯגࣜձࣾॴଐ •
Androidྺ1͘Β͍ • ࠷ۙαʔόʔαΠυKotlinΛษڧத • ΫϥϑτϏʔϧ͖
αʔϏεͷհ IUUQTTVNBMVOBDPN
2019-07-29 αʔϏεϩʔϯν
ύϑΥʔϚϯεվળΛ ߦ͏ࣄʹͳΔ·Ͱͷ
ϦϦʔεલͷϢʔβʔςετʹͯʜ ͳΜ͔ΞϓϦॏ͘ͳ͍ʜʁ ը໘ͷભҠ͍࣌͠ʑݻ·Δ
ϦϦʔεޙ ΜΜʁετΞͷධՁʹΞϓϦىಈͰ͖ͳ͍ ͱ͔ॻ͔ΕͯΔʁʁ ຊ൪ΞϓϦಈ͍ͯͳ͍Ϣʔβʔ͕͓Δʁ
ൃੜͨ͠ύϑΥʔϚϯε՝ • ࣄྫ1:ը໘ભҠɾද͕ࣔඇৗʹ͍ • ಛʹBottomNavigationͷΓସ͕͍͑ • ભҠޙʹϑϦʔζ͢Δ͜ͱ • ࣄྫ2:ىಈޙʹΫϥογϡ͢Δ •
Ϣʔβʔ͔ΒͷධՁͰൃ֮ • ಛఆͷέʔεͰൃੜ͍ͯͨ͠
ࣄྫ ը໘ભҠɾද͕͍ࣔ ͷௐࠪͰͬͨ͜ͱ
·ͣܭଌɻ
·ͣܭଌɻ ϓϩϑΝΠϥΛ ىಈͤͯ͞ܭଌ
·ͣܭଌɻ
• CPU • CPUͷ༻ͱ ༻࣌ؒͷܭଌ • Memory • ϝϞϦ༻ྔͱ ֤ݺͼग़͠ͷϝϞϦ
༻ྔͷܭଌͳͲ • Network • ωοτϫʔΫͷෛՙ
ࠓճͷࣄྫͰ ʮͲ͜Ͱॲཧʹ͔࣌ؒ ͔ͬͯΔͷ͔ʯ Λಥ͖ࢭΊΔͨΊʹ CPUͷΈΛܭଌ
None
RecordϘλϯΛԡ͔ͯ͠Β ࣮ࡍʹΞϓϦΛಈ͔ͯ͠CPUͷಈ͖Λܭଌ
None
ॲཧʹֻ͕͔͍࣌ؒͬͯͯͭɺ ϓϩδΣΫτͰ࣮ͨ͠ϝιουΛ୳͢
Ͱɺॏ͘ͳ͍ͬͯͨݪҼԿͩͬͨͷ͔ʁ • ηΩϡΞใΛSharedPreferences͔Βࢀর ͢Δ࣌ʹॏ͘ͳ͍ͬͯͨɻ • ηΩϡΞใΛѻ͏ϥΠϒϥϦͷ߹ʹ߹Θ ͤͯΛׂͯ͠อଘɻ • ͜ͷ͜ͱ͕ݪҼͰಡΈࠐΈ࣌ʹ༨ܭͳॲཧ͕ ෳճݺΕ͍ͯͨɻ
ରॲ๏ʁ • ͬͯͨϥΠϒϥϦΛࣺͯͯɺ ࣗલͰ҉߸Խɾ෮߸ͷॲཧΛॻ͍ͨɻ • ଞͷϥΠϒϥϦݕ౼͚ͨ͠ͲɺԿ͔͠Β੍ݶ ͕༗ͬͨΓͯ͠͏ͱ٫ͬͯ໘ͩͱஅɻ • ηΩϡΞใѻ͏ͷʹϥΠϒϥϦͳΜͯཁΒΜ ͔ͬͨΜ
ࣄྫͷ·ͱΊ • ύϑΥʔϚϯεվળ·ͣܭଌ͔ΒɻͪΖΜҋӢʹܭ ଌ͢ΔͷͰͳ͘ɺϘτϧωοΫΛಛఆ͢ΔͨΊʹ ProfilerͷπʔϧΛ׆༻͠·͠ΐ͏ɻ • ࠓճCPU࣌ؒͷܭଌͰݟ͚ͨͲɺଞʹϝϞϦཧ ϨϯμϦϯάͷղੳͳͲΞϓϩʔνํ๏ෳ͋Γ·͢ɻ • ͜ΕΒʑݟ͍͖͍ͯͨɻ
• ηΩϡΞใѻ͏ͷʹϥΠϒϥϦͳΜͯཁΒΜ͔ͬͨΜ (2ճ
ࣄྫ ຊ൪ΞϓϦ͕Ϋϥογϡ͢Δ ͷௐࠪͰͬͨ͜ͱ
None
None
Πϕϯτ/Ϣʔβʔ͕ಛʹଟ͍ ΫϥογϡϨϙʔτΛ୳͢
ىͯ͜͠ΔՕॴͷ StackTraceΛ͔͜͜Β֬ೝ
Androidͷόʔδϣϯ ͰߜΓࠐΉ͜ͱͰ͖Δ
͜ͷௐࠪʹΑͬͯɺ ຊ൪ΞϓϦͷΫϥογϡ ແࣄղܾ͠·͕ͨ͠ʜɻ
None
None
None
ࠓʹͯ͠ࢥ͑ɺ ετΞͷϦϦʔεલϨϙʔτΛ ͔ͬ͠Γରॲ͢Ε ͛ͨͳͱࢥ͍·ͨ͠PS[
ࣄྫͷ·ͱΊ • ຊ൪ΞϓϦͷΫϥογϡStackTraceΛݟΕ Δঢ়گʹ͓͚ͯ͠ɺϑΟʔυόοΫ্͕͕ͬͯ ͖ͯରॲ͘͢͠ͳΔ • ͪΖΜൃੜ͢Δલʹ௵͓ͯ͘͜͠ͱ͕ॏཁͳ ͷͰɺීஈ͔ΒݕͰ͖ΔΈ༻ҙ͓ͯ͠ ͖͍ͨɻ