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
コルーチン〜Androidと非同期処理〜
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
nyafunta9858
November 15, 2022
Programming
790
1
Share
コルーチン〜Androidと非同期処理〜
nyafunta9858
November 15, 2022
More Decks by nyafunta9858
See All by nyafunta9858
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
540
いまから追い上げる、Jetpack Compose トレーニング
nyafunta9858
1
2.8k
KotlinのLinterまなびなおし2024のホコウ
nyafunta9858
1
160
KotlinのLinter まなびなおし2024
nyafunta9858
2
5.9k
僕らが考える 最強のアーキテクチャについて 腹を割って話そう
nyafunta9858
0
220
もう迷わないCoroutines 〜suspend funとChannelとFlow〜
nyafunta9858
2
7.3k
Other Decks in Programming
See All in Programming
おれのAgentic Coding 2026/03
tsukasagr
1
120
Geminiをパートナーに神社DXシステムを個人開発した話(いなめぐDX 開発振り返り)
fujiba
0
130
CS教育のDX AIによる育成の効率化
niftycorp
PRO
0
180
forteeの改修から振り返るPHPerKaigi 2026
muno92
PRO
3
110
GC言語のWasm化とComponent Modelサポートの実践と課題 - Scalaの場合
tanishiking
0
140
存在論的プログラミング: 時間と存在を記述する
koriym
5
740
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
1.2k
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
5.3k
Mastering Event Sourcing: Your Parents Holidayed in Yugoslavia
super_marek
0
130
Codexに役割を持たせる 他のAIエージェントと組み合わせる実務Tips
o8n
4
1.5k
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
750
OTP を自動で入力する裏技
megabitsenmzq
0
130
Featured
See All Featured
Context Engineering - Making Every Token Count
addyosmani
9
790
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
94
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
320
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
Making the Leap to Tech Lead
cromwellryan
135
9.8k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
81
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
210
Mind Mapping
helmedeiros
PRO
1
140
A Modern Web Designer's Workflow
chriscoyier
698
190k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
120
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
240
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
160
Transcript
コルーチン〜Androidと非同期処理〜
小林 慶弘 (Yoshihiro Kobayashi) a.k.a nyafunta9858 • Mobile Engineer •
2010年に組み込みソフトウェア開発を請け負う会社に新 卒で入社。これまでに様々な業種向けのtoC/toBtoCサー ビス開発に従事、ソフトウェア単体で動作するシステム 以外にもBLE機器や車載機をはじめとしたハードウェア 連携を要するシステム開発も多く経験。Androidには2系 の頃から触れ始める。 2022年3月にマネーフォワードへ 参画。ホームカンパニー プロダクト開発部に配属。マ ネーフォワードMEのAndroidアプリ開発を担当。 • 趣味:ガジェット集め、ゲーム、カメラ etc…
今日話すこと • コルーチンとは • コルーチンの推しポイント • まとめ
コルーチンとは • Android で使用できる並行実行のデザインパターン • 非同期実行するコードを簡略化できる • Kotlin 1.3 で追加されたものだが、すでに他の言語で確立されている概念をベースにしている
https://developer.android.com/kotlin/coroutines
今日のテーマについて • Androidの非同期処理は日々使いやすく進化している • コルーチンとの出会い、 1st class サポート • コルーチンの推しポイント
◦ ライフサイクルの考慮が簡単 ◦ スレッド管理・操作がシンプル ◦ 簡潔な記述 ◦ デバッグツール
ライフサイクルの考慮が簡単
ライフサイクル
ライフサイクル 手動でcancelが必要😥
ライフサイクル
ライフサイクル AAC ViewModelなどで使いにくい😥
ライフサイクル
ライフサイクル ライフサイクルに合わせて cancelされる😁
ライフサイクル シンプル + 考えることが 少なくなる👍👍👍
ちなみに...
スレッド管理・操作が シンプル
スレッド管理
スレッド管理 メインスレッドからの呼び出しが必要 😥
スレッド管理
スレッド管理
スレッド管理 CoroutineDispatcherを指定するだけ😁 スレッド管理もおまかせ👍👍👍
簡潔な記述
簡潔な記述
簡潔な記述
簡潔な記述 コード上は同期的 + ネストもなくなり 可読性向上👍👍👍
デバッグツール
デバッグ • kotlinx-coroutines-debug • Coroutine debugger https://www.jetbrains.com/help/idea/debug-kotlin-coroutines.html
まとめ
まとめ • Androidの非同期処理は日々使いやすく進化している • コルーチンとの出会い、 1st class サポート • コルーチンの推しポイント
◦ ライフサイクルの考慮が簡単 ◦ スレッド管理・操作がシンプル ◦ 簡潔な記述 ◦ デバッグツール
Join our team! We’re hiring! https://hrmos.co/pages/moneyforward/job s/0004133