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

前端之家收集整理的这篇文章主要介绍了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相关文章