leitor epub para lidar com grande arquivo html

Estou criando um leitor epub na plataforma IOS. Basicamente, ele usa o UIWebview para exibir arquivos epub, eu leio o código do Aepubreader de código aberto e acho que é muito bom, mas não baseado em texto. Eu quero torná-lo baseado em texto e virar a página como o iBooks. Então eu tento refinar o Aepubreader

O fluxo lógico básico é

descompacte o arquivo epub.analisar os metadados (opf, arquivo toc).carregar arquivos html por UIWebView e ligá-lo ao UIPageViewController

Tudo funciona bem, exceto o desempenho.

Supondo que o epub tenha dez arquivos html (file1 - file10). file1 ~ file9 é tamanho pequeno (como 100k), mas o arquivo 10 é 1MB. quando leio para a primeira página do arquivo10, custa muito tempo carregar esse arquivo de 1 MB. Isso é aceitável desde a primeira vez. Mas quando eu volto para a segunda página do arquivo10. Eu ainda preciso carregar este arquivo de 1MB novamente e chamar um js para rolar offsetx por número de página (não há como copiar um UIWebView por documento oficial da Apple). Isto não é aceitável. Eu não posso deixar o usuário sempre esperar quando virar a página neste arquivo.

Finalmente eu tenho uma solução para evitar recarregar este arquivo grande. Quando obtenho a primeira página do arquivo10 exibida. Eu capturei esta visão visível como uma imagem, mas não a exibi, quando eu viro para a próxima página, eu exibo esta imagem para a página1, enquanto isso, eu dou a UIwebview de page1 para page2. como Page2.view.addSubview (webviewfrompage1). Isso evitará recarregar o webview e economizar tempo. Mas, outro problema está chegando, Page2.view.addSubview (webviewfrompage1) fará com que página2 layoutsubview, o que significa que page2 irá redesenhar sua visão para mostrar o conteúdo webview. Este é um conteúdo de arquivo de 1MB, redesenho ainda custa tempo, e vai preso a animação de virada da página. Eu procurei muito, mas ainda não tenho solução. Eu verifico o iBooks, ele funciona perfeito. Como isso afetou o arquivo grande?

Por favor, deixe-me saber se você tem alguma opinião sobre isso. ou outra solução para lidar com exibição epub.

desde já, obrigado

-------------------------------------------------- -------------------------------------------

responder a torazaburo:

Sim você está absolutamente certo. Eu planejei usar window.scroll (offsetX, offsetY) para obter o conteúdo da próxima página. Mas isso não é suficiente. Eu quero que a página gire animação como os ibooks. Então eu uso o UIPageViewController. Usando UIPageViewController significa que eu tenho que implementar seguindo dois delegados

- (UIViewController *) pageViewController: (UIPageViewController *) pageViewController viewControllerAfterViewController: (UIViewController *) viewController {}

(UIViewController *) pageViewController: (UIPageViewController *) pageViewController viewControllerBeforeViewController: (UIViewController *) viewController {

}

Em cada deleagte, preciso alocar um viewcontroller, recarregar a url e definir o deslocamento para a página correta do local. Então, toda vez que virar a página, não é apenas definir offset para o conteúdo, mas alocar uma nova uiwebview e recarregar o url e depois definir o offset.

torazaburo, o que você acha?

questionAnswers(0)

yourAnswerToTheQuestion