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
フィードやチャットのスクロールを全力でなめらかにする/iOSDC2019-LT
Search
dotrikun
September 06, 2019
Programming
3
2k
フィードやチャットのスクロールを全力でなめらかにする/iOSDC2019-LT
dotrikun
September 06, 2019
Tweet
Share
More Decks by dotrikun
See All by dotrikun
iOSDC2023LT
dotrikun
0
410
鉄道アプリを支えるテクノロジー
dotrikun
1
1.8k
ゼロイチフェーズからのCleanArchitecture/ios_ca
dotrikun
2
930
不摂生で救急搬送されたiOSアプリ開発者が iPhoneとAppleWatchをフル活用して健康を取り戻した話 / iosdc2018
dotrikun
2
12k
アプリ開発のアンチパターンを踏み抜きながら アプリをフルリニューアルした話
dotrikun
17
11k
個人情報を扱うアプリと暗号化について
dotrikun
1
840
スマート山ごもりでアプリを高速開発する
dotrikun
0
970
Other Decks in Programming
See All in Programming
レガシープロジェクトで最大限AIの恩恵を受けられるようClaude Codeを利用する
tk1351
4
1.5k
オープンセミナー2025@広島「君はどこで動かすか?」アンケート結果
satoshi256kbyte
0
230
Kiroの仕様駆動開発から見えてきたAIコーディングとの正しい付き合い方
clshinji
1
180
AHC051解法紹介
eijirou
0
640
20250808_AIAgent勉強会_ClaudeCodeデータ分析の実運用〜競馬を題材に回収率100%の先を目指すメソッドとは〜
kkakeru
0
220
旅行プランAIエージェント開発の裏側
ippo012
1
580
Introducing ReActionView: A new ActionView-compatible ERB Engine @ Rails World 2025, Amsterdam
marcoroth
0
180
機能追加とリーダー業務の類似性
rinchoku
0
160
Protocol Buffersの型を超えて拡張性を得る / Beyond Protocol Buffers Types Achieving Extensibility
linyows
0
100
奥深くて厄介な「改行」と仲良くなる20分
oguemon
0
120
コンテキストエンジニアリング Cursor編
kinopeee
1
740
ECS初心者の仲間 – TUIツール「e1s」の紹介
keidarcy
0
140
Featured
See All Featured
Music & Morning Musume
bryan
46
6.8k
Writing Fast Ruby
sferik
628
62k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
Producing Creativity
orderedlist
PRO
347
40k
GraphQLとの向き合い方2022年版
quramy
49
14k
Site-Speed That Sticks
csswizardry
10
800
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Documentation Writing (for coders)
carmenintech
73
5k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Building Adaptive Systems
keathley
43
2.7k
Into the Great Unknown - MozCon
thekraken
40
2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
Transcript
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. Copyright (C)
2018 DeNA Co.,Ltd. All Rights Reserved. ϑΟʔυνϟοτͷ εΫϩʔϧΛશྗͰͳΊΒ͔ʹ͢Δ iOSDC 2019 Lightning Talks September 7, 2019 Hiroshi Shikata Healthcare DeNA Co., Ltd. 1
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ηϧͷߴ͞ՄมͷTableViewCollectionViewΛ࡞Δͱ͖ 2
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. Α͋͘Δߴ͕͞มΘΔηϧͷྫ 3
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ςΩετͷจࣈʹΑͬͯߴ͕͞มΘΔ 4
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. UITableViewͰηϧͷߴ͞Λࣗಈʹઃఆ 5
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. දࣔͯ͠ 6
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ҰؾʹεΫϩʔϧ͍ͯ͘͠ͱ 7
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. Ҿ͔͔ͬΔͱ͖͕͋Δ 8
Ψο
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ͳʹ͕ى͍ͬͯ͜Δͷ͔ Cell
Cell Cell දࣔதͷηϧ
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ͳʹ͕ى͍ͬͯ͜Δͷ͔ Cell
Cell Cell Cell දࣔதͷηϧ εΫϩʔϧ Cell Prefetchରʹͳͬͨηϧ ࣍ʹදࣔ͞ΕΔηϧ
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ͳʹ͕ى͍ͬͯ͜Δͷ͔ Cell
Cell Cell Cell දࣔதͷηϧ 1.Cellͷੜ tableView(_:cellForRowAt:) Cell Prefetchରʹͳͬͨηϧ ࣍ʹදࣔ͞ΕΔηϧ
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ͳʹ͕ى͍ͬͯ͜Δͷ͔ Cell
Cell Cell Cell දࣔதͷηϧ ࣍ʹදࣔ͞ΕΔηϧ 1.Cellͷੜ tableView(_:cellForRowAt:) 2.Cellͷඳը tableView(_:willDisplay:) 3. CellͷϨΠΞτ Cell Prefetchରʹͳͬͨηϧ
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ͳʹ͕ى͍ͬͯ͜Δͷ͔ Cell
Cell Cell Cell දࣔதͷηϧ ࣍ʹදࣔ͞ΕΔηϧ 1.Cellͷੜ tableView(_:cellForRowAt:) 2.Cellͷඳը tableView(_:willDisplay:) 3. CellͷϨΠΞτ Cell Prefetchରʹͳͬͨηϧ ߴࣗ͞ಈܭࢉͷ߹ ͜ͷؒʹηϧͷߴ͕͞ܭࢉ͞ΕΔ
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. FacebookͷதͷਓʹΑΔFacebookλΠϜϥΠϯͷٕज़ղઆ(2012) Ҿ༻:
https://www.facebook.com/notes/facebook-engineering/under-the-hood-mobile-timeline/10150500366118920/
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. FacebookͷதͷਓʹΑΔFacebookλΠϜϥΠϯͷٕज़ղઆ(2012) ▪
ϋʔυΣΞΞΫηϥϨʔγϣϯͷ࠷దԽ ▪ σβΠϯͷ ͳͲ ʢը૾දࣔʹؔ͢Δ෦͔Βൈਮʣ ௨৴ϦΫΤετͷϢʔβΤʔδΣϯτ͔ΒσόΠ εͷཧతͳԣ෯Λܾఆ͠ɺͦͷԣ෯Λ༻ͯ͠ ϖʔδ্ͷͯ͢ͷը૾ͷදࣔαΠζΛܾఆ͢Δ Ҿ༻: https://www.facebook.com/notes/facebook-engineering/under-the-hood-mobile-timeline/10150500366118920/
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. FacebookͷதͷਓʹΑΔFacebookλΠϜϥΠϯͷٕज़ղઆ(2012) ▪
ϋʔυΣΞΞΫηϥϨʔγϣϯͷ࠷దԽ ▪ σβΠϯͷ ͳͲ ʢը૾දࣔʹؔ͢Δ෦͔Βൈਮʣ ௨৴ϦΫΤετͷϢʔβΤʔδΣϯτ͔ΒσόΠ εͷཧతͳԣ෯Λܾఆ͠ɺͦͷԣ෯Λ༻ͯ͠ ϖʔδ্ͷͯ͢ͷը૾ͷදࣔαΠζΛܾఆ͢Δ →ίϯςϯπͷදࣔαΠζαʔόͰܭࢉࡁΈ Ҿ༻: https://www.facebook.com/notes/facebook-engineering/under-the-hood-mobile-timeline/10150500366118920/
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ࣄલʹίϯςϯπͷαΠζΛܭࢉ͓ͯ͘͠ 17
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ࣄલʹίϯςϯπͷදࣔαΠζΛܭࢉ͓ͯ͘͠ Cell
Cell Cell TableView σʔλऔಘ & දࣔαΠζܭࢉ දࣔσʔλ&CellSize εΫϩʔϧલʹߴܾͯ͢͞·͍ͬͯΔ
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ෯ͱදࣔ͢ΔςΩετ͕ܾ·Εߴ͞ࢉग़Ͱ͖Δ 19
ςΩετͷจࣈʹΑͬͯߴ͕͞มԽ
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ෯ͱςΩετ͕ܾ·Εߴ͞ࢉग़Ͱ͖Δ 20
▪ UILabel/UITextField / UITextViewͳͲUIViewΛܧঝͨ͠Class ▪ NSAttributedString
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. TableViewCellͱUILabelͷྫ 21
1.UILabelͷԣ෯ΛܾΊΔ TableViewͷԣ෯ - ࠨӈϚʔδϯ TableViewͷԣ෯
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. TableViewCellͱUILabelͷྫ 22
1. UILabelͷԣ෯ΛܾΊΔ TableViewͷԣ෯ - ࠨӈϚʔδϯ 2. UILabelͷαΠζΛࢉग़͢Δ 1ͷԣ෯Λࢦఆͯ͠ func sizeThatFits(_ size: CGSize) -> CGSize
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. ෯ͱදࣔ͢ΔςΩετ͕ܾ·Εߴ͞ࢉग़Ͱ͖Δ 23
1. UILabelͷԣ෯ΛܾΊΔ TableViewͷԣ෯ - ࠨӈϚʔδϯ 2. UILabelͷαΠζΛࢉग़͢Δ 1ͷԣ෯Λࢦఆͯ͠ func sizeThatFits(_ size: CGSize) -> CGSize 3. Cellͷߴ͞Λࢉग़͢Δ 2Ͱܭࢉͨ͠ߴ͞ + ্ԼϚʔδϯ
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. tableView(_:cellForRowAt:) →
ϨΠΞτߋ৽ྃ·Ͱͷੑೳൺֱ 24 ߴࣗ͞ಈܭࢉͷ߹ ߴ͞Λࣄલʹܭࢉ ฏۉ (ϨΠΞτߋ৽ྃ·Ͱ) ࠷େ (ϨΠΞτߋ৽ྃ·Ͱ)
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. tableView(_:cellForRowAt:) →
ϨΠΞτߋ৽ྃ·Ͱͷੑೳൺֱ 25 ߴࣗ͞ಈܭࢉͷ߹ ߴ͞Λࣄલʹܭࢉ ฏۉ (ϨΠΞτߋ৽ྃ·Ͱ) 14ms ࠷େ (ϨΠΞτߋ৽ྃ·Ͱ) 95ms
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. tableView(_:cellForRowAt:) →
ϨΠΞτߋ৽ྃ·Ͱͷੑೳൺֱ 26 ߴࣗ͞ಈܭࢉͷ߹ ߴ͞Λࣄલʹܭࢉ ฏۉ (ϨΠΞτߋ৽ྃ·Ͱ) 14ms 2ms ࠷େ (ϨΠΞτߋ৽ྃ·Ͱ) 95ms 3ms
Copyright (C) 2018 DeNA Co.,Ltd. All Rights Reserved. tableView(_:cellForRowAt:) →
ϨΠΞτߋ৽ྃ·Ͱͷੑೳൺֱ 27 ߴࣗ͞ಈܭࢉͷ߹ ߴ͞Λࣄલʹܭࢉ ฏۉ (ϨΠΞτߋ৽ྃ·Ͱ) 14ms 2ms ࠷େ (ϨΠΞτߋ৽ྃ·Ͱ) 95ms 3ms λΠϜϥΠϯνϟοτ͕ΞϓϦͷίΞػೳͳΒؤுΔՁ͋Δʂ