android – 资源$NotFoundException drawable-xhdpi来自drawable资源

我正在检查我的错误报告,并且我们不时会从我们的应用程序中获取错误报告.
我不能指出实际问题是什么.
这个资源确实存在,大多数设备工作正常,但LG-E510或U8815等特定设备无法加载此资源.

有任何想法吗?

android.content.res.Resources$NotFoundException: File res/drawable-xhdpi/action_bar_search_icon.png from drawable resource ID #0x7f02007f
at android.content.res.Resources.loadDrawable(Resources.java:1714)
at android.content.res.Resources.getDrawable(Resources.java:581)
at com.actionbarsherlock.internal.view.menu.MenuItemImpl.getIcon(MenuItemImpl.java:384)
at com.actionbarsherlock.internal.view.menu.ActionMenuItemView.initialize(ActionMenuItemView.java:128)
at com.actionbarsherlock.internal.view.menu.ActionMenuPresenter.bindItemView(ActionMenuPresenter.java:192)
at com.actionbarsherlock.internal.view.menu.BaseMenuPresenter.getItemView(BaseMenuPresenter.java:176)
at com.actionbarsherlock.internal.view.menu.ActionMenuPresenter.getItemView(ActionMenuPresenter.java:178)

解决方法

正如您所说,如果手机/标签访问xhdpi目录,那么我们希望它适当地缩放图像以适应屏幕.因此,我们希望如果资源存在于任何一个目录中,那么我们将永远不会看到ResourceNotFound异常.然而:

xhdpi仅在Android SDK 8中引入,因此如果您定位SDK 7及更早版本,则可能会遇到问题:

Only use XHDPI drawables in Android app?

Android可能无法访问xhdpi目录的另一个原因是设备是否在屏幕兼容模式下运行:

Android – Extra large images placed in res/drawable-xhdpi aren’t showing on tablet emulator,why?

一个可能的原因是,如果您的drawable非常小,并且其中一个尺寸由于缩放而舍入为零:

Android resource not found because of width and height

最后,有些OEM版本的Android可能会以非标准的方式实现这一点(例如,如果他们的设备是hdpi,则不通过搜索xhdpi目录来“提高性能”):

Android Drawable hdpi xhdpi mdpi ldpi concept

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...