前言
在遇到这个问题的时候,我只能看到的报错信息
FATAL EXCEPTION: mainProcess: com.xxx.yyy, PID: 29472java.lang.RuntimeException: Unable to start activity ComponentInfo{com.crobot.fifdeg/com.xxx.yyy.base.WebViewActivity}: android.view.InflateException: Binary XML file line #29 in com.xxx.yyy/activity_webview_layout: Binary XML file line #29 in com.xxx.yyy:layout/activity_webview_layout: Error inflating class android.webkit.WebViewat android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3304)at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3443)at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2040)at android.os.Handler.dispatchMessage(Handler.java:107)at android.os.Looper.loop(Looper.java:224)at android.app.ActivityThread.main(ActivityThread.java:7520)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)Caused by: android.view.InflateException: Binary XML file line #29 in com.xxx.yyy:layout/activity_webview_layout: Binary XML file line #29 in com.xxx.yyy:layout/activity_webview_layout: Error inflating class android.webkit.WebViewCaused by: android.view.InflateException: Binary XML file line #29 in com.xxx.yyy:layout/activity_webview_layout: Error inflating class android.webkit.WebViewCaused by: java.lang.reflect.InvocationTargetExceptionat java.lang.reflect.Constructor.newInstance0(Native Method)at java.lang.reflect.Constructor.newInstance(Constructor.java:343)at android.view.LayoutInflater.
找问题的原因找了好久!
我只知道可能是三方库的引入的问题,但是网上很难找到匹配我的答案。因为问题出现的太奇怪了!别的组件都可以正常的通过xml进行实例化,唯独webview组件不行。只能使出我的排除大法,通过不停的移除运行,再移除再运行终于把问题定位在了Application文件执行上面了。
替换排除是一个在你没有办法的情况下,能解决实际问题的唯一办法了。
再一次启动优化的修改中,我把本来再主线程中初始化的代码写在了子线程当中。导致了这个问题的出现。
RongIM.init(mContext);
错误的使用:
正确的用法: