1

次のコードを使用して、webviewにpdfファイルをロードしています

try {
        imageByteArray =loadFile(Environment.getExternalStorageDirectory().getAbsolutePath()+"/sample.pdf");
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    webview = (WebView)findViewById(R.id.webView1);

    String image64 = Base64.encodeToString(imageByteArray, Base64.DEFAULT);
    String imgTag = "<img src=\"data:image/jpeg;base64," + image64 + "\" />" ;
    webview.getSettings().setBuiltInZoomControls(true);

    webview.setInitialScale(30);
    WebSettings webSettings = webview.getSettings();
    webSettings.setUseWideViewPort(true);
    webview.loadData(imgTag, "text/html", "utf-8");

しかし、バイトコードを文字列に変換中にメモリ不足の例外が発生しました

質問 :

1.大きなバイトコードを文字列型にロードするに
はどうすればよいですか 2. または、他のデータ型を使用して WebView にバイト配列を表示できますか?
この行を参照し "<imgsrc=\"data:image/jpeg;base64," + image64 + "\" />"て、文字列 image64 を指定する必要があります。または、利用可能な代替手段はありますか?

4

0 に答える 0