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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
dotrikun
September 06, 2019
Programming
2.3k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
フィードやチャットのスクロールを全力でなめらかにする/iOSDC2019-LT
dotrikun
September 06, 2019
More Decks by dotrikun
See All by dotrikun
iOSDC2023LT
dotrikun
0
550
鉄道アプリを支えるテクノロジー
dotrikun
1
2.4k
ゼロイチフェーズからのCleanArchitecture/ios_ca
dotrikun
2
1.2k
不摂生で救急搬送されたiOSアプリ開発者が iPhoneとAppleWatchをフル活用して健康を取り戻した話 / iosdc2018
dotrikun
2
12k
アプリ開発のアンチパターンを踏み抜きながら アプリをフルリニューアルした話
dotrikun
17
11k
個人情報を扱うアプリと暗号化について
dotrikun
1
890
スマート山ごもりでアプリを高速開発する
dotrikun
0
1k
Other Decks in Programming
See All in Programming
Go を使い始めて 2 ヶ月の学び / My first two months with Go
contour_gara
0
410
初心者DevRelとして参加者だった私が、DevRel Talks!#2に登壇するまでにしてきたこと
sokohirai
0
320
AWS Transform Customによる Spring Boot 2.xから4.xへのVerUp
satoshi256kbyte
2
130
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
230
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
7
2.3k
AIの中の人になってみる
htkym
0
150
業務時間外もAIに働いてもらう話
colorful12
3
9.9k
週末にAI-DLCを本気で回したら$1,600溶けた
hbashimizu
0
120
私のClaude Code活用法 (個人開発編) - PHPerKaigi mini #4(2026/08/24)
panda_program
1
200
Hono + Inertia + React で LP を構築した話
oukayuka
2
200
T3DD26: From RAGs to Riches
martinhelmich
0
130
[PyCon KR 2026] More Variants, More Diversity for AI Accelerators
achimnol
0
130
Featured
See All Featured
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
550
Building Adaptive Systems
keathley
44
3.2k
Tell your own story through comics
letsgokoyo
1
1.1k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
440
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Paper Plane (Part 1)
katiecoart
PRO
1
10k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
410
Building AI with AI
inesmontani
PRO
1
1.2k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
320
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
230
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
360
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 λΠϜϥΠϯνϟοτ͕ΞϓϦͷίΞػೳͳΒؤுΔՁ͋Δʂ