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
490
Android EPUB 로딩 개선
RIDI
August 03, 2018
Tweet
Share
More Decks by RIDI
See All by RIDI
원격 근무 팀 운영 경험 공유
ridi
0
2.2k
SVG Icon Design Guide
ridi
2
3.8k
빠르게 훑어보는 리디페이 백엔드 개발기
ridi
2
5k
Next.js는 정말 zero config였다.
ridi
0
2.1k
3일 걸릴 것 같던 구매목록 다운로드는 왜 3주가 걸렸을까?
ridi
0
450
원격으로 한 달 일해보니
ridi
0
1.4k
리디북스 앱에 S Pen Remote 연동하기
ridi
2
2.7k
UI 라이브러리 개발기
ridi
1
2.6k
테스트 환경 개선하기
ridi
8
3.5k
Other Decks in Technology
See All in Technology
AIエージェントが書くのなら直接CloudFormationを書かせればいいじゃないですか何故AWS CDKを使う必要があるのさ
watany
18
7.6k
振り返りTransit Gateway ~VPCをいい感じでつなげるために~
masakiokuda
3
210
SRE with AI:実践から学ぶ、運用課題解決と未来への展望
yoshiiryo1
0
320
20250708オープンエンドな探索と知識発見
sakana_ai
PRO
4
1k
アクセスピークを制するオートスケール再設計: 障害を乗り越えKEDAで実現したリソース管理の最適化
myamashii
1
670
United™️ Airlines®️ Customer®️ USA Contact Numbers: Complete 2025 Support Guide
flyunitedguide
0
800
How to Quickly Call American Airlines®️ U.S. Customer Care : Full Guide
flyaahelpguide
0
240
Talk to Someone At Delta Airlines™️ USA Contact Numbers
travelcarecenter
0
160
「現場で活躍するAIエージェント」を実現するチームと開発プロセス
tkikuchi1002
3
350
ビジネス職が分析も担う事業部制組織でのデータ活用の仕組みづくり / Enabling Data Analytics in Business-Led Divisional Organizations
zaimy
1
390
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
18k
PHPからはじめるコンピュータアーキテクチャ / From Scripts to Silicon: A Journey Through the Layers of Computing
tomzoh
2
120
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.4k
GitHub's CSS Performance
jonrohan
1031
460k
How GitHub (no longer) Works
holman
314
140k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
RailsConf 2023
tenderlove
30
1.1k
BBQ
matthewcrist
89
9.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Documentation Writing (for coders)
carmenintech
72
4.9k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
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