Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Takao Sumitomo
2,289 views
Camera API 1と2が混在するプロダクトの開発で 泣いたこととそのワークアラウンド
shibuya.apk #23 の講演資料です。 https://shibuya-apk.connpass.com/event/80104/
Technology
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 27
2
/ 27
3
/ 27
4
/ 27
5
/ 27
6
/ 27
7
/ 27
8
/ 27
9
/ 27
10
/ 27
11
/ 27
12
/ 27
13
/ 27
14
/ 27
15
/ 27
16
/ 27
17
/ 27
18
/ 27
19
/ 27
20
/ 27
21
/ 27
22
/ 27
23
/ 27
24
/ 27
25
/ 27
26
/ 27
27
/ 27
More Related Content
PDF
20170420 insta vr_monthly_seminar
by
Hideki Ojima
PDF
僕は上スワイプでBottomSheetを出したかっただけなんだ
by
Takao Sumitomo
PDF
sharedUserIdを使った俺得開発ツールの作り方
by
Takao Sumitomo
PDF
CIのビルドを通知する仕組みをAndroidとFirestoreで作った話
by
Takao Sumitomo
PDF
アプリを成長させるためのログ取りとログ解析に必要なこと
by
Takao Sumitomo
ODP
(beta)アプリを成長させるためのログ取りとログ解析に必要なこと
by
Takao Sumitomo
PDF
高速でトライ&エラーを するために気をつけてること
by
Takao Sumitomo
PDF
Maker Faire Bay Areaに行きたかったのでGoogle I/Oに行ってきた
by
Takao Sumitomo
20170420 insta vr_monthly_seminar
by
Hideki Ojima
僕は上スワイプでBottomSheetを出したかっただけなんだ
by
Takao Sumitomo
sharedUserIdを使った俺得開発ツールの作り方
by
Takao Sumitomo
CIのビルドを通知する仕組みをAndroidとFirestoreで作った話
by
Takao Sumitomo
アプリを成長させるためのログ取りとログ解析に必要なこと
by
Takao Sumitomo
(beta)アプリを成長させるためのログ取りとログ解析に必要なこと
by
Takao Sumitomo
高速でトライ&エラーを するために気をつけてること
by
Takao Sumitomo
Maker Faire Bay Areaに行きたかったのでGoogle I/Oに行ってきた
by
Takao Sumitomo
More from Takao Sumitomo
PDF
Viewを動的に変化させるアプローチ
by
Takao Sumitomo
PDF
プロダクトを育てるのにGoogleのサービスが助けてくれること
by
Takao Sumitomo
PDF
AdapterToolboxでRecyclerViewを楽にする
by
Takao Sumitomo
PPTX
エンジニアがプロダクト育成を始めるまでにやったこと
by
Takao Sumitomo
PPTX
Wantedlyのテスト事情
by
Takao Sumitomo
PDF
用途に合わせたアニメーションの実装方法
by
Takao Sumitomo
PPTX
Uml速習会
by
Takao Sumitomo
PDF
potatotips (iOS/Android開発Tips共有会) 第19回 資料
by
Takao Sumitomo
PDF
SQLiteDatabaseを無理矢理覗く
by
Takao Sumitomo
PDF
開発を効率的に進めるられるまでの道程
by
Takao Sumitomo
PDF
テストがあればなんとかなる〜効率化までの道程〜
by
Takao Sumitomo
PDF
勉強会資料 データ構造とアルゴリズム
by
Takao Sumitomo
PDF
勉強会資料 Uml概要
by
Takao Sumitomo
PDF
Firefox OSの何が嬉しいか
by
Takao Sumitomo
PDF
HTML5でFirefox OSアプリを作ろう
by
Takao Sumitomo
PDF
フォクすけロボ開発進捗報告
by
Takao Sumitomo
PDF
今更ながらCSS3を試してみた
by
Takao Sumitomo
PDF
Crystalskullを改造してみる
by
Takao Sumitomo
PDF
もしソフトウェアディベロッパーが3Dプリンターで『フォクすけ』を作ったら
by
Takao Sumitomo
PDF
アンドロイダー的にHTML5でどこまでできそうか
by
Takao Sumitomo
Viewを動的に変化させるアプローチ
by
Takao Sumitomo
プロダクトを育てるのにGoogleのサービスが助けてくれること
by
Takao Sumitomo
AdapterToolboxでRecyclerViewを楽にする
by
Takao Sumitomo
エンジニアがプロダクト育成を始めるまでにやったこと
by
Takao Sumitomo
Wantedlyのテスト事情
by
Takao Sumitomo
用途に合わせたアニメーションの実装方法
by
Takao Sumitomo
Uml速習会
by
Takao Sumitomo
potatotips (iOS/Android開発Tips共有会) 第19回 資料
by
Takao Sumitomo
SQLiteDatabaseを無理矢理覗く
by
Takao Sumitomo
開発を効率的に進めるられるまでの道程
by
Takao Sumitomo
テストがあればなんとかなる〜効率化までの道程〜
by
Takao Sumitomo
勉強会資料 データ構造とアルゴリズム
by
Takao Sumitomo
勉強会資料 Uml概要
by
Takao Sumitomo
Firefox OSの何が嬉しいか
by
Takao Sumitomo
HTML5でFirefox OSアプリを作ろう
by
Takao Sumitomo
フォクすけロボ開発進捗報告
by
Takao Sumitomo
今更ながらCSS3を試してみた
by
Takao Sumitomo
Crystalskullを改造してみる
by
Takao Sumitomo
もしソフトウェアディベロッパーが3Dプリンターで『フォクすけ』を作ったら
by
Takao Sumitomo
アンドロイダー的にHTML5でどこまでできそうか
by
Takao Sumitomo
Camera API 1と2が混在するプロダクトの開発で 泣いたこととそのワークアラウンド
1.
©2018 Wantedly, Inc.
2018-03-20 shibuya.apk #23 @cattaka_net Camera API 1と2が混在するプロダクトの開発で 泣いたこととそのワークアラウンド 20.Mar.2018 – Takao Sumitomo
2.
ページタイトルページサブタイトル ©2018 Wantedly, Inc.©2018
Wantedly, Inc. 2018-03-20 shibuya.apk #23 @cattaka_net 自己紹介 ● 住友 孝郎(Takao Sumitomo) – Wantedly 所属 – Androidアプリを主担当 ● こんなアプリ作ってます – Wantedly People – 名刺管理アプリ – リアルタイムに名刺を認識して取り込むアプリ
3.
©2018 Wantedly, Inc.
2018-03-20 shibuya.apk #23 @cattaka_net 今回はCamera API 1 / 2についてのお話です
4.
ページタイトルページサブタイトル ©2018 Wantedly, Inc.©2018
Wantedly, Inc. 2018-03-20 shibuya.apk #23 @cattaka_net おさらい
5.
ページタイトルページサブタイトル ©2018 Wantedly, Inc.©2018
Wantedly, Inc. 2018-03-20 shibuya.apk #23 @cattaka_net 新旧2つのAPI ● Camera API 1 – プレビューを表示して、シャッターを切る – 一般的なカメラを意識したインターフェースで制限が多い ● Camera API 2 – カメラの内部イベントをJava層に引っ張り出したようなインターフェース – 自由度は高いけど扱いが難しい
6.
ページタイトルページサブタイトル ©2018 Wantedly, Inc.©2018
Wantedly, Inc. 2018-03-20 shibuya.apk #23 @cattaka_net なんで混在させたか?
7.
ページタイトルページサブタイトル ©2018 Wantedly, Inc.©2018
Wantedly, Inc. 2018-03-20 shibuya.apk #23 @cattaka_net 理由 ● 当時は4.xを切るわけに行かなかった – 市場で数割はマーケティング費用に換算すると大きい ● Camera API 2でもLegacyモードのデバイスはパフォーマンスが悪い ● Camera API 1はプレビューの解像度がFHDが上限 良いとこ取りをしたい!
8.
ページタイトルページサブタイトル ©2018 Wantedly, Inc.©2018
Wantedly, Inc. 2018-03-20 shibuya.apk #23 @cattaka_net 混在させる実装アプローチ
9.
ページタイトルページサブタイトル ©2018 Wantedly, Inc.©2018
Wantedly, Inc. 2018-03-20 shibuya.apk #23 @cattaka_net 抽象化したらいいやん? ICameraEngine CameraEngine1 CameraEngine2 Camera API 1 Camera API 2 アプリからは これだけを意識する
10.
ページタイトルページサブタイトル ©2018 Wantedly, Inc.©2018
Wantedly, Inc. 2018-03-20 shibuya.apk #23 @cattaka_net 茨の道でした
11.
ページタイトルページサブタイトル ©2018 Wantedly, Inc.©2018
Wantedly, Inc. 2018-03-20 shibuya.apk #23 @cattaka_net どちらもコールバックで フレームを受け取るが、、、 ● Camera API 1 –コールバックは原則UIThreadで呼ばれる ● Camera API 2 –コールバックのスレッドを選べる UIThreadで重い処理をしたくない
12.
ページタイトルページサブタイトル ©2018 Wantedly, Inc.©2018
Wantedly, Inc. 2018-03-20 shibuya.apk #23 @cattaka_net フレームをRxJavaで ストリームにしたら行けるでしょ? http://reactivex.io/documentation/operators/backpressure.html より
13.
ページタイトルページサブタイトル ©2018 Wantedly, Inc.©2018
Wantedly, Inc. 2018-03-20 shibuya.apk #23 @cattaka_net 簡単には行かない! ● フレームのサイズが大きすぎる –FHD:1920x1080x32bit ≒ 8.3MB –QHD:3840x2160x32bit ≒ 33.2MB
14.
ページタイトルページサブタイトル ©2018 Wantedly, Inc.©2018
Wantedly, Inc. 2018-03-20 shibuya.apk #23 @cattaka_net OOMの危険 ● 認識ロジックは時間が掛かるので、詰まると即OOMになる ● RxJavaのBackpressureも考えたが、緻密な制御が必要なので怖い
15.
ページタイトルページサブタイトル ©2018 Wantedly, Inc.©2018
Wantedly, Inc. 2018-03-20 shibuya.apk #23 @cattaka_net 結局、バッファとセマフォで 制御をフルスクラッチした
16.
ページタイトルページサブタイトル ©2018 Wantedly, Inc.©2018
Wantedly, Inc. 2018-03-20 shibuya.apk #23 @cattaka_net つまり筋力でカバー
17.
©2018 Wantedly, Inc.
2018-03-20 shibuya.apk #23 @cattaka_net 機種依存をどうやって確認するか?
18.
ページタイトルページサブタイトル ©2018 Wantedly, Inc.©2018
Wantedly, Inc. 2018-03-20 shibuya.apk #23 @cattaka_net クラウドテストが使えない ● リモートでテストできるけど触れない... –Firebase Test Lab –Amazon Device Farm –etc 操作感の確認は実機を触るしか無い
19.
ページタイトルページサブタイトル ©2018 Wantedly, Inc.©2018
Wantedly, Inc. 2018-03-20 shibuya.apk #23 @cattaka_net 気合で実機でテスト ● シェア上位の60機種をリストアップ ● 検証センターに篭った
20.
ページタイトルページサブタイトル ©2018 Wantedly, Inc.©2018
Wantedly, Inc. 2018-03-20 shibuya.apk #23 @cattaka_net それでも出てくる機種依存 ● CameraCharacteristicsで確認してるのに、組み合わせで駄目なデバイスがある – 駄目な場合に「何もしない」にフォールバックするデバイス ● コアバリューに影響する – AutoFocusやAutoWhiteBalanceが動かない ● android.os.Build を見て個別に対応を入れた
21.
ページタイトルページサブタイトル ©2018 Wantedly, Inc.©2018
Wantedly, Inc. 2018-03-20 shibuya.apk #23 @cattaka_net つまり筋力でカバー
22.
©2018 Wantedly, Inc.
2018-03-20 shibuya.apk #23 @cattaka_net まとめ
23.
ページタイトルページサブタイトル ©2018 Wantedly, Inc.©2018
Wantedly, Inc. 2018-03-20 shibuya.apk #23 @cattaka_net ギリギリの環境はフルスクラッチしかない
24.
ページタイトルページサブタイトル ©2018 Wantedly, Inc.©2018
Wantedly, Inc. 2018-03-20 shibuya.apk #23 @cattaka_net 機種依存の確認はひたすら実機で検証
25.
ページタイトルページサブタイトル ©2018 Wantedly, Inc.©2018
Wantedly, Inc. 2018-03-20 shibuya.apk #23 @cattaka_net つまり筋力でカバー
26.
ページタイトルページサブタイトル ©2018 Wantedly, Inc.©2018
Wantedly, Inc. 2018-03-20 shibuya.apk #23 @cattaka_net 筋トレしていこう
27.
ページタイトルページサブタイトル ©2018 Wantedly, Inc.©2018
Wantedly, Inc. 2018-03-20 shibuya.apk #23 @cattaka_net ご清聴ありがとうございました
Download