Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 找不到有关资源的奇怪异常_Android - Fatal编程技术网

Android 找不到有关资源的奇怪异常

Android 找不到有关资源的奇怪异常,android,Android,我的应用在市场上的很多用户(同一版本-同一APK)偶尔会出现这样的错误。。。我想这里的主要问题是:由以下原因引起:java.io.FileNotFoundException:res/drawable/ic_new.png 这个文件肯定存在,并且可以在其他设备上使用。我偶尔会在带有随机文件的其他设备上遇到此错误。。怎么可能 android.view.InflateException:二进制XML文件行#7:膨胀类时出错 在android.view.LayoutInflater.createView

我的应用在市场上的很多用户(同一版本-同一APK)偶尔会出现这样的错误。。。我想这里的主要问题是:
由以下原因引起:java.io.FileNotFoundException:res/drawable/ic_new.png

这个文件肯定存在,并且可以在其他设备上使用。我偶尔会在带有随机文件的其他设备上遇到此错误。。怎么可能

android.view.InflateException:二进制XML文件行#7:膨胀类时出错
在android.view.LayoutInflater.createView(LayoutInflater.java:518)
在com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)上
位于android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:626)
在android.view.LayoutInflater.充气(LayoutInflater.java:408)
在android.view.LayoutInflater.充气(LayoutInflater.java:320)
位于com.activities.MailListActivity$MailListCursorAdapter.getView(MailListActivity.java:171)
在android.widget.AbsListView.obtainView(AbsListView.java:1560)上
在android.widget.ListView.measureHeightOChildren(ListView.java:1289)上
在android.widget.ListView.onMeasure(ListView.java:1200)上
在android.view.view.measure(view.java:8313)
位于android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
位于android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1017)
位于android.widget.LinearLayout.measureVertical(LinearLayout.java:386)
位于android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
在android.view.view.measure(view.java:8313)
位于android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
位于android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1017)
在android.widget.LinearLayout.measurevertic(linerlayout.java:386)
位于android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
在android.view.view.measure(view.java:8313)
位于android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
位于android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
在android.view.view.measure(view.java:8313)
位于android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
位于android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
在android.view.view.measure(view.java:8313)
在android.view.ViewRoot.performTraversals(ViewRoot.java:844)
在android.view.ViewRoot.handleMessage(ViewRoot.java:1865)
位于android.os.Handler.dispatchMessage(Handler.java:99)
位于android.os.Looper.loop(Looper.java:130)
位于android.app.ActivityThread.main(ActivityThread.java:3687)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:507)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run上(ZygoteInit.java:842)
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
在dalvik.system.NativeStart.main(本机方法)
原因:java.lang.reflect.InvocationTargetException
位于java.lang.reflect.Constructor.constructNative(本机方法)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:415)
位于android.view.LayoutInflater.createView(LayoutInflater.java:505)
... 37多
原因:android.content.res.Resources$NotFoundException:文件res/drawable/ic#u new.png来自drawable资源ID#0x7f02001c
位于android.content.res.Resources.loadDrawable(Resources.java:1714)
位于android.content.res.TypedArray.getDrawable(TypedArray.java:601)
在android.widget.ImageView上
在android.widget.ImageView上(ImageView.java:108)
... 40多
原因:java.io.FileNotFoundException:res/drawable/ic_new.png
位于android.content.res.AssetManager.OpenNoAssetNative(本机方法)
位于android.content.res.AssetManager.openNonAsset(AssetManager.java:406)
位于android.content.res.Resources.loadDrawable(Resources.java:1706)
... 43多

您没有特别提到在应用程序中组织图像的方式。但是,还有一些特定的文件夹可绘制ldpi、“可绘制mdpi”、“可绘制hdpi”甚至“可绘制xhdpi”,以及基本的“可绘制”文件夹

也许你对所有这些都很熟悉,但我会重复它们的使用模式,因为我觉得这可能会让你失望。ldpi、mdpi、hdpi和xhdpi表示低、中、高和超高dpi-不同的屏幕分辨率。Android有一种特殊的方式来确定你正在运行的设备的硬件特性,从而将其映射到最相关的设备:ldpi、mdpi、hdpi或xhdpi

当你需要一个图像时,比如image.png,它首先搜索drawable mdpi/image.png(如果它已经确定你的设备要映射到mdpi)。如果找不到这样的图像,它会尝试drawable/image.png,如果找到,它会重新缩放。就是这样,如果这两次搜索失败,并且您在其他分辨率文件夹中提供了图像,它将不会使用它。这意味着,如果您在xhdpi设备上安装应用程序,并且在该设备上仅提供ldpi和mdpi映像,则不会找到相关映像


所以我的建议是,你有你的一些图像,只是一些格式。这是我在没有更多信息的情况下能做的最好的了。希望我得到了正确的答案,我将提供帮助。

如何收集错误?你能告诉我哪些设备出错了吗?他们是LDPI吗?可能图形太大,小屏幕无法在drawable LDPI中找到它它们都在drawable下\I在Android Marketics上出错您的应用程序中有什么不寻常的事情吗,例如,您的资源或应用程序的自定义更新机制,您找不到的drawable是以某种方式生成的吗?我不知道。所有内容都非常标准。我也明白了。资源是我的布局xml文件,我可以在那里查看活动。屏幕将休眠,然后当我唤醒它时,我得到这个错误。这是一件事。所有图像