Submit Search
Upload
Androidの非同期
•
0 likes
•
39 views
risa buto
Follow
2020/08/27 社内LT会
Read less
Read more
Technology
Report
Share
Report
Share
1 of 15
Download now
Download to read offline
Recommended
Android meets RxJava - 渋谷Java#6
Android meets RxJava - 渋谷Java#6
yo_waka
非エンジニアが作るLINEボット
非エンジニアが作るLINEボット
Hirofumi Matsumoto
milkcocoaチュートリアル
milkcocoaチュートリアル
Yohei Kawano
milkcocoa 〜アプリ開発をもっと簡単に高速に〜
milkcocoa 〜アプリ開発をもっと簡単に高速に〜
Syuhei Hiya
Embedded framework and so on
Embedded framework and so on
toyship
iOS豆知識ver0.0.5
iOS豆知識ver0.0.5
ppengotsu Name
もしAppiumとディープラーニングを組み合わせたら
もしAppiumとディープラーニングを組み合わせたら
Nozomi Ito
Android勉強会第二回-非同期処理-
Android勉強会第二回-非同期処理-
Hiroki Sakamoto
Recommended
Android meets RxJava - 渋谷Java#6
Android meets RxJava - 渋谷Java#6
yo_waka
非エンジニアが作るLINEボット
非エンジニアが作るLINEボット
Hirofumi Matsumoto
milkcocoaチュートリアル
milkcocoaチュートリアル
Yohei Kawano
milkcocoa 〜アプリ開発をもっと簡単に高速に〜
milkcocoa 〜アプリ開発をもっと簡単に高速に〜
Syuhei Hiya
Embedded framework and so on
Embedded framework and so on
toyship
iOS豆知識ver0.0.5
iOS豆知識ver0.0.5
ppengotsu Name
もしAppiumとディープラーニングを組み合わせたら
もしAppiumとディープラーニングを組み合わせたら
Nozomi Ito
Android勉強会第二回-非同期処理-
Android勉強会第二回-非同期処理-
Hiroki Sakamoto
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
Tokoroten Nakayama
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
Drecom Co., Ltd.
ABC2016Spring Androidアプリ実装アンチパターン(暫定)
ABC2016Spring Androidアプリ実装アンチパターン(暫定)
mokelab
Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~
Atsushi Harada
[社内向け]Titanium勉強会
[社内向け]Titanium勉強会
Rei Matsushita
Firefox os勉強会 2nd WEB屋さんがWEBアプリを作ってみた
Firefox os勉強会 2nd WEB屋さんがWEBアプリを作ってみた
Nobuhiro Ueda
Pepper tech festival_2014_技術セッション応用
Pepper tech festival_2014_技術セッション応用
Atelier Akihabara
SnapDishの事例
SnapDishの事例
Fumikazu Kiyota
Herlockサービス紹介
Herlockサービス紹介
SONICMOOV CO.,LTD.
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
Mori Shingo
PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料
Monaca
第2回 Android勉強会
第2回 Android勉強会
fujikunn
Linux daemonとsupervisordの美味しい関係
Linux daemonとsupervisordの美味しい関係
Kazushige TAKEUCHI
広がる .Net
広がる .Net
信之 岩永
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
Kenji Fukumoto
マイクロサービスにおけるクエリー言語について
マイクロサービスにおけるクエリー言語について
sz yudppp
Web API のすすめ
Web API のすすめ
Yuji Shimada
C#でアプリを作ってみよう! #ngtnet
C#でアプリを作ってみよう! #ngtnet
将 高野
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
Yasuhiko Yamamoto
Html5 でアプリを作るということ
Html5 でアプリを作るということ
Naruto TAKAHASHI
無償ケア労働図鑑 〜これって愛なの?搾取なの?〜
無償ケア労働図鑑 〜これって愛なの?搾取なの?〜
risa buto
電子工作で猫との暮らし改善
電子工作で猫との暮らし改善
risa buto
More Related Content
Similar to Androidの非同期
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
Tokoroten Nakayama
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
Drecom Co., Ltd.
ABC2016Spring Androidアプリ実装アンチパターン(暫定)
ABC2016Spring Androidアプリ実装アンチパターン(暫定)
mokelab
Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~
Atsushi Harada
[社内向け]Titanium勉強会
[社内向け]Titanium勉強会
Rei Matsushita
Firefox os勉強会 2nd WEB屋さんがWEBアプリを作ってみた
Firefox os勉強会 2nd WEB屋さんがWEBアプリを作ってみた
Nobuhiro Ueda
Pepper tech festival_2014_技術セッション応用
Pepper tech festival_2014_技術セッション応用
Atelier Akihabara
SnapDishの事例
SnapDishの事例
Fumikazu Kiyota
Herlockサービス紹介
Herlockサービス紹介
SONICMOOV CO.,LTD.
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
Mori Shingo
PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料
Monaca
第2回 Android勉強会
第2回 Android勉強会
fujikunn
Linux daemonとsupervisordの美味しい関係
Linux daemonとsupervisordの美味しい関係
Kazushige TAKEUCHI
広がる .Net
広がる .Net
信之 岩永
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
Kenji Fukumoto
マイクロサービスにおけるクエリー言語について
マイクロサービスにおけるクエリー言語について
sz yudppp
Web API のすすめ
Web API のすすめ
Yuji Shimada
C#でアプリを作ってみよう! #ngtnet
C#でアプリを作ってみよう! #ngtnet
将 高野
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
Yasuhiko Yamamoto
Html5 でアプリを作るということ
Html5 でアプリを作るということ
Naruto TAKAHASHI
Similar to Androidの非同期
(20)
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが3ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
Rubyの会社でPythonistaが三ヶ月生き延びた話
ABC2016Spring Androidアプリ実装アンチパターン(暫定)
ABC2016Spring Androidアプリ実装アンチパターン(暫定)
Titanium Mobile ~本当にあったこわい話~
Titanium Mobile ~本当にあったこわい話~
[社内向け]Titanium勉強会
[社内向け]Titanium勉強会
Firefox os勉強会 2nd WEB屋さんがWEBアプリを作ってみた
Firefox os勉強会 2nd WEB屋さんがWEBアプリを作ってみた
Pepper tech festival_2014_技術セッション応用
Pepper tech festival_2014_技術セッション応用
SnapDishの事例
SnapDishの事例
Herlockサービス紹介
Herlockサービス紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料
第2回 Android勉強会
第2回 Android勉強会
Linux daemonとsupervisordの美味しい関係
Linux daemonとsupervisordの美味しい関係
広がる .Net
広がる .Net
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
マイクロサービスにおけるクエリー言語について
マイクロサービスにおけるクエリー言語について
Web API のすすめ
Web API のすすめ
C#でアプリを作ってみよう! #ngtnet
C#でアプリを作ってみよう! #ngtnet
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
わんくま名古屋#25(20121201) 「Win8ストア・アプリ WP8アプリ、両面撃破作戦」
Html5 でアプリを作るということ
Html5 でアプリを作るということ
More from risa buto
無償ケア労働図鑑 〜これって愛なの?搾取なの?〜
無償ケア労働図鑑 〜これって愛なの?搾取なの?〜
risa buto
電子工作で猫との暮らし改善
電子工作で猫との暮らし改善
risa buto
座禅入門 by佐谷さん
座禅入門 by佐谷さん
risa buto
20230108_AWS試験山張り会
20230108_AWS試験山張り会
risa buto
20230107_AWS試験山張り会
20230107_AWS試験山張り会
risa buto
20221231_資格もくもく会
20221231_資格もくもく会
risa buto
エンジニアとして生き残るには
エンジニアとして生き残るには
risa buto
node.js入門
node.js入門
risa buto
汗っかき問題と対策
汗っかき問題と対策
risa buto
terraform基礎
terraform基礎
risa buto
手作りのものが食べたい
手作りのものが食べたい
risa buto
Invitation of Musical
Invitation of Musical
risa buto
画面テスト自動化
画面テスト自動化
risa buto
発声練習
発声練習
risa buto
ミュージカル入門
ミュージカル入門
risa buto
Javaキャッチアップ(SE9-12)
Javaキャッチアップ(SE9-12)
risa buto
about me
about me
risa buto
Pixel game creation
Pixel game creation
risa buto
pygame+gymで強化学習
pygame+gymで強化学習
risa buto
料理はじめました
料理はじめました
risa buto
More from risa buto
(20)
無償ケア労働図鑑 〜これって愛なの?搾取なの?〜
無償ケア労働図鑑 〜これって愛なの?搾取なの?〜
電子工作で猫との暮らし改善
電子工作で猫との暮らし改善
座禅入門 by佐谷さん
座禅入門 by佐谷さん
20230108_AWS試験山張り会
20230108_AWS試験山張り会
20230107_AWS試験山張り会
20230107_AWS試験山張り会
20221231_資格もくもく会
20221231_資格もくもく会
エンジニアとして生き残るには
エンジニアとして生き残るには
node.js入門
node.js入門
汗っかき問題と対策
汗っかき問題と対策
terraform基礎
terraform基礎
手作りのものが食べたい
手作りのものが食べたい
Invitation of Musical
Invitation of Musical
画面テスト自動化
画面テスト自動化
発声練習
発声練習
ミュージカル入門
ミュージカル入門
Javaキャッチアップ(SE9-12)
Javaキャッチアップ(SE9-12)
about me
about me
Pixel game creation
Pixel game creation
pygame+gymで強化学習
pygame+gymで強化学習
料理はじめました
料理はじめました
Recently uploaded
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
Recently uploaded
(9)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Androidの非同期
1.
Androidの非同期 武藤 梨沙
2.
そもそも非同期の必要性 非同期処理の例 Androidでよく見かける非同期技術 AsyncTask AsyncTaskLoader Coroutine お話しすること
3.
NetworkOnMainThreadException RESTAPI呼び出しなど通信が発生する処理は非同期にしないといけない!
4.
同期処理じゃダメ???
5.
画面グルグル地獄 ① アプリ起動 ② Mainスレッド生成 ③
API呼び出し ④ 取得データをゴニョゴニョ ⑤ 画面描画 同期処理だとこんな感じ! Mainスレッドしかいないと 画面が表示されるまで結構かかる
6.
つまり、こゆこと!!! Mainスレッド 極悪プログラマーの あなた
7.
あなたは善良なプログラマーですよね?
8.
非同期処理の例 ① アプリ起動 ② Mainスレッド生成
→ 画面描画 ③ Workerスレッド生成 → API実行 → 取得データをゴニョゴニョ Mainスレッド Workerスレッド 画面描画 データ取得API 呼び出し 非同期イメージ@脳内 データ表示 スレッド = 処理の実行単位 ②と③は 同時進行!
9.
お願い、この世界から画面グルグル地獄をなくして つまり、ここから本題
10.
Androidでよく見かける非同期技術 AsyncTask AsyncTask Loader Coroutine
11.
AsyncTask アプリ内の全てのAsyncTaskタスクは 1スレッドで実行される →1つ1つが短時間の処理であれば効果的 →長時間処理だとキューがつかえて 遅くなってしまう。。。 API 呼び出し Mainスレッド UIスレッド 動画 読み込み グラフ 作成 実行中 タスクキュー
12.
非同期処理クラスLoaderのサブクラス AsyncTaskと比べると、UI操作処理を Mainスレッド(Activityなど)に まとめられるところが良い! AsyncTaskだとAsyncTaskのスレッドに onPostExecute()書いて取得データ表示してたよね AsyncTaskLoader(Loaderクラス) Mainスレッド Workerスレッド API 呼び出し 画面パーツ 描画 取得データ 表示
13.
Kotlinでサポートされている並行実行機能 (クラスではなく、組み込み関数チック) まず、クラスでないところが良い! ・・・Kotlinは多重継承できない Activityのライフサイクルと連携できる! 一緒に破棄 async+awaitで非同期処理の結果を Mainスレッドにて変数で受け取ることも可能 Coroutine データロード クラス 画像ロード クラス 動画ロード クラス 継承 非同期にしたいクラスに スーパークラスがいてもOK AsyncTask、AsyncTaskLoaderでは コールバック関数をOverrideして結果を受け取ってたよね
14.
Androidの非同期処理 完全に理解した。 もちろんウソです。
15.
参考リンク スレッド化によるパフォーマンスの向上 Android での Kotlin
コルーチン アーキテクチャ コンポーネントで Kotlin コルーチンを使用する AsyncTaskとAsyncTaskLoaderの考察 Kotlin の Coroutine を概観する AsyncTaskLoaderを使ってみる Androidディベロッパーガイド Qiita Developers.IO
Download now