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 EPUB 로딩 개선
Search
RIDI
August 03, 2018
Technology
3
480
Android EPUB 로딩 개선
RIDI
August 03, 2018
Tweet
Share
More Decks by RIDI
See All by RIDI
원격 근무 팀 운영 경험 공유
ridi
0
2.1k
SVG Icon Design Guide
ridi
2
3.4k
빠르게 훑어보는 리디페이 백엔드 개발기
ridi
2
4.9k
Next.js는 정말 zero config였다.
ridi
0
2k
3일 걸릴 것 같던 구매목록 다운로드는 왜 3주가 걸렸을까?
ridi
0
380
원격으로 한 달 일해보니
ridi
0
1.4k
리디북스 앱에 S Pen Remote 연동하기
ridi
2
2.6k
UI 라이브러리 개발기
ridi
1
2.4k
테스트 환경 개선하기
ridi
8
3.3k
Other Decks in Technology
See All in Technology
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
580
サイバーセキュリティと認知バイアス:対策の隙を埋める心理学的アプローチ
shumei_ito
0
380
Introduction to Works of ML Engineer in LY Corporation
lycorp_recruit_jp
0
110
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
500
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
フルカイテン株式会社 採用資料
fullkaiten
0
40k
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
28
12k
Application Development WG Intro at AppDeveloperCon
salaboy
0
180
【若手エンジニア応援LT会】ソフトウェアを学んできた私がインフラエンジニアを目指した理由
kazushi_ohata
0
150
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
430
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
370
[FOSS4G 2024 Japan LT] LLMを使ってGISデータ解析を自動化したい!
nssv
1
210
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
A Philosophy of Restraint
colly
203
16k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Docker and Python
trallard
40
3.1k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Bash Introduction
62gerente
608
210k
BBQ
matthewcrist
85
9.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
How to Ace a Technical Interview
jacobian
276
23k
Statistics for Hackers
jakevdp
796
220k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Transcript
Android EPUB ۽٬ ѐࢶ ࠭য ষੋ
None
ࢲীࢲ ଼ਸ ҳݒ জীࢲ ۽٘ ੍ח
ࢲীࢲ ଼ਸ ҳݒ জীࢲ ۽٘ ੍ח EPUBী Ѧܽ DRMਸ ೧ઁೞҊ
ਬബೞ ঋ ੌ ա ഛੋೞҊ ୷ ಽҊ ஶబஎ Ҋ द DRM ਊೞҊ ਗࠄ Ҋ …
EPUB ۽٬ җ 1. DRM Ѧ۰ח EPUB ۽٘
EPUB ۽٬ җ 2. EPUBী Ѧ۰ח DRM ೧ઁ
EPUB ۽٬ җ ≈
EPUB ۽٬ җ 3. ୷೧ઁ ߂ ਗࠄ EPUB ઁѢ
EPUB ۽٬ җ 4. ஶబஎ ੌী DRM ਊ
Ӓؘ۠..
DRM ೧ઁ ػ EPUBੌ ੌदਵ۽ ઓ EPUB ୷ ೧ઁ, ঐഐച
স ب ъઁ ઙܐ द ਗࠄੌ ֢
ਗࠄ ੌ Ӓ۽ ࠁৈҊ DRM Ѧܻ ঋ EPUB ࠄޙ
HTML ੌ ӝఋ..
যځೠ ࢚ടীࢲب ঐഐച غ ঋ ੌ ࠁৈઉࢲח উػ
рী ੌ ֢غחѱ ޙઁۄݶ? ਸ ೞ݈!
DRM ೧ઁ ୷ ೧ઁ బஎ DRM ਊ
1. EPUB ੌਸ ೞ ঋҊ ߄۽ ঐഐചೞ ࢎন ӝӝীࢲ ࠛоמೣ
(ࢲ ӝળ о EPUB : 493MB)
=
2. ܴਸ о ࠙ೡ ୷ੌਸ ࢎਊೞ Zip Headerܳ ా೧
ࣽࢲ ਬ୶ оמ 1. DRM ೧ઁೠ EPUB ੌਸ ೞ ঋҊ ߄۽ ঐഐചೞ
1/n 1/n 1/n 1/n j EPUB (n byte)
Sequence InputStream j Input Stream Input Stream Input Stream Input
Stream
3. Zip ੌ ইצ Ӓր ੌਸ ࢎਊೞ ੌ ࢤࢿदрਸ ా೧
ࣽࢲ ਬ୶ оמ 2. ܴਸ о ࠙ೡ ୷ੌਸ ࢎਊೞ 1. DRM ೧ઁೠ EPUB ੌਸ ೞ ঋҊ ߄۽ ঐഐചೞ
1 2 3 … 1 3 2 …
4. Random Access Fileਸ ࢎਊೞ ࢿҕ 3. Zip ੌ ইצ
Ӓր ੌਸ ࢎਊೞ 2. ܴਸ о ࠙ೡ ୷ੌਸ ࢎਊೞ 1. DRM ೧ઁೠ EPUB ੌਸ ೞ ঋҊ ߄۽ ঐഐചೞ
ਵݶ જওѷ݅..
ঐഐച ೡ ੌ ࢶఖ ӝળ ӏधਸ ాೠ DRMਊ
opf ݾ۾ী ח ੌٜਸ ঐഐച
opf ݾ۾ী ח ੌٜਸ ঐഐച ୷ਸ ݢ ಽҊ ঐഐച
೮ӝ ٸޙী opf ࢎਊ оמ ӏधਵ۽ ഛܳ ೧ࢲ ঐഐച e.g. *.html, *.xhtml
୷ਸ ݢ ಽҊ ঐഐച ೮ӝ ٸޙী opf ࢎਊ оמ
-> ਃೠ ੌਸ ই ݢ ୷ਸ ಽ InputStream ZipArchiveInputStream ZipArchiveEntry
ਊ EPUB ܻ opfܳ ాೠ Ѩࢎ ޙઁ
୷ ಽ ٸ݃ opfীࢲ ୶ೠ ݾ۾җ ࠺Ү ݾ۾ ݽٚ ੌਸ
୷ ಽਵݶ աݠח ߄۽ ೯ೞ -> ࠺ ஶబஎ ੌ ݆ EPUB ਊ ఀ
None
୷ਸ ಽݶࢲ زदী ঐഐച Disk I/Oо যٝ
աݠח ߄۽ ୷೧ઁ ਃೠ ੌ݅ ࢶఖೞৈ ঐഐച
PAPER PRO ୭ୡ ۽٬दр 0 150 300 450 600 15MB
50MB 200MB 500MB ߸҃ ߸҃ റ दр (ୡ) 60%
ખ ؊ җਸ উೞѱ উೞҊ ࡅܰѱ!
য় Ѧ যڌѱ ೞ? য় Ѥ যڌѱೞ? য় Ѧ যڌѱ
೮?
Android 3ਘ PAPER 4ਘ PAPER PRO 5ਘ THE END
Q&A