嗨,我正在尝试在包含 HTML 的 WebView 中加载一个 url。我正在尝试加载
webView.loadDataWithBaseURL("", url, "text/html; charset=utf-8", "UTF-8", "");
但是一旦调用此方法,我的应用程序就会因此异常而崩溃。
:E/JavaBinder: !!! FAILED BINDER TRANSACTION !!! (parcel size = 1110288). java.lang.RuntimeException: android.os.TransactionTooLargeException: data parcel size 1110288 bytes
我什至尝试过使用内容提供程序,压缩网址并解压缩,但没有任何改变
您尝试加载的 HTML 内容似乎太大,因此您收到异常 java.lang.RuntimeException: android.os.TransactionTooLargeException: data packet size 1110288 bytes。
我能想到的可能方法很少。/
首先看看,如果可以减小HTML内容的大小,最好从中删除多余的元素。
您可以检查是否可以从应用程序本身在外部浏览器中打开它,而不是在应用程序网络视图中打开它?您可以为此使用 Andriod 意图功能 - https://developer.android.com/reference/android/content/Intent
这会起作用
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(browserIntent);