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
800
1
Share
コルーチン〜Androidと非同期処理〜
nyafunta9858
November 15, 2022
More Decks by nyafunta9858
See All by nyafunta9858
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
640
いまから追い上げる、Jetpack Compose トレーニング
nyafunta9858
1
2.9k
KotlinのLinterまなびなおし2024のホコウ
nyafunta9858
1
170
KotlinのLinter まなびなおし2024
nyafunta9858
2
6.1k
僕らが考える 最強のアーキテクチャについて 腹を割って話そう
nyafunta9858
0
230
もう迷わないCoroutines 〜suspend funとChannelとFlow〜
nyafunta9858
2
7.4k
Other Decks in Programming
See All in Programming
ふつうのFeature Flag実践入門
irof
5
2.4k
TSKaigi2026-静的解析への投資がAI時代のコード品質を支える ── カスタムESLintルールの設計と運用
hayatokudou
6
1.1k
Transactional Change Stream Processing With Debezium and Apache Flink
gunnarmorling
1
130
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
360
バックエンドにElysiaJSを採用して気付いた、良い点・悪い点
wanko_it
1
170
Agentic UI beyond Chats Architecture Patterns & Open Standards @ngMunich 05/2026
manfredsteyer
PRO
0
140
SkillsをS3 Filesに置く時のあれこれ
watany
4
1.8k
OSもどきOS
arkw
0
150
Stage 3 Decorators でできること / できないこと / TSKaigi 2026
susisu
1
1.1k
iOS26時代の新規アプリ開発
yuukiw00w
0
200
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.7k
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
7
1.9k
Featured
See All Featured
The Spectacular Lies of Maps
axbom
PRO
1
760
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Optimizing for Happiness
mojombo
378
71k
Thoughts on Productivity
jonyablonski
76
5.2k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The Limits of Empathy - UXLibs8
cassininazir
1
340
Designing for humans not robots
tammielis
254
26k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
510
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