Small
Small copied to clipboard
在7.0 机型上 android.content.res.Resources$NotFoundException
错误报告
你做了什么?
使用 1.2.0-alpha2 插架化
你期望的结果是什么?
正确运行
实际结果是什么?
在华为、荣耀7.0的机型上 偶尔出现 ,还没复现,帮忙看看 怎么回事 android.content.res.Resources$NotFoundException: Resource ID #0x75030021 at android.content.res.ResourcesImpl.getValue(ResourcesImpl.java:255) at android.content.res.Resources.loadXmlResourceParser(Resources.java:2187) at android.content.res.Resources.getLayout(Resources.java:1178) at android.view.LayoutInflater.inflate(LayoutInflater.java:424) at com.myapp.fragment.CommonWebViewFragment.onCreateView(CommonWebViewFragment.java:98) at android.support.v4.app.Fragment.performCreateView(Fragment.java:1974) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252) at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617) at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:517) at android.os.Handler.handleCallback(Handler.java:761) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:156) at android.app.ActivityThread.main(ActivityThread.java:6523) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:941) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:831)
另外 关于 ReflectAccelerator 里ensureCacheResources 这个方法,在一款Nexus 5X - 7.1.2机型上包括了其他应用的resourceImpl 数量达到了28个 ,并且 第一次调用这个方法的时候 即使有的resourceImpl.get()为null、注释掉sResourceImpls.put(resourceKey, new WeakReference<Object>(sMergedResourcesImpl))也可以正常运行。
碰到了同样的问题
有可能是resourceImpl又重新生成了 导致之前替换的sMergedResourcesImpl没有生效, 可以试下在ApkInstrumentation的callActivityOnCreate时替换下ContextImpl里的mResources