Androidでepublibを使用して、epubファイルをwebviewにロードしています。これは、ファイルをロードするための私のコードです
public void getEntireBook(){
Spine spine = book.getSpine();
List<SpineReference> spineList = spine.getSpineReferences() ;
int count = spineList.size();
TextView tv=new TextView(getApplicationContext());
tv.setText(Integer.toString(count));
StringBuilder string = new StringBuilder();
for (int i = 0; count > i; i++) {
Resource res = spine.getResource(i);
string.append(res.getTitle());
RowData row = new RowData();
row.setTitle(string.toString());
row.setResource(spine.getResource(i));
contentDetails.add(row);
try {
InputStream is = res.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
try {
while ((line =(String) reader.readLine()) != null) {
}
} catch (IOException e) {e.printStackTrace();}
//do something with stream
} catch (IOException e) {
e.printStackTrace();
}
webView.loadData(line, "text/html;charset=UTF-8",null);
}
}
一部のファイルは正常にロードされます 20 mb から 70 mb のファイルは正常にロードされますが、90 mb を超えるファイルは問題を引き起こし、空白の Web ビューが表示されるか、画面が黒くなります。
一部のファイルのもう 1 つの問題は、ファイルによってはテキストが大きく、画像や装飾フォントなどの豊富なグラフィック コンテンツが含まれていることです。それらをwebviewにロードすると小さな点が表示され、ズームインするとテキストが散らばります。
だから私は2つの質問があります
- webview で 150 mb ファイルのような大きなファイルをレンダリングする方法
- エンリッチ グラフィック コンテンツを読み込む方法。
setrenderpriority high などのすべての webview 設定を使用し、js を webview に挿入しましたが、解決策を見つけることができませんでした。