微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

原文地址:https://www.jb51.cc/android/309559.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐