来自Android应用程序的奇怪的FileNotFoundException异常

Nik*_*man 7 android

我正在开发一款现已投入生产的Android应用程序,偶尔会看到例外情况(通过airbrake报道),其中包含以下内容:

[1.0.4] java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mycompany.android/com.mycompany.android.activities.MainActivity}: android.view.InflateException: Binary XML file line #7: Error inflating class <unknown>
... cut lots of stuff ...
### CAUSED BY ###: java.io.FileNotFoundException: res/drawable-hdpi/tab_active.9.png:
AssetManager.java:-2:in `android.content.res.AssetManager.openNonAssetNative'
AssetManager.java:406:in `android.content.res.AssetManager.openNonAsset'
Resources.java:1706:in `android.content.res.Resources.loadDrawable'
... cut lots more stuff ...
Run Code Online (Sandbox Code Playgroud)

在测试中,这个视图肯定适用于多个HDPI设备,因此资源很好.在构建最终的APK之前,我做了一个完整的清理/重建,当然还发送了APK进行内部测试.事实上,每个版本而不是10,000,我得到1-2个例外,这表明这个资源肯定是为大多数用户正确打包的.

我完全难过并且不确定为什么它不会加载到某些手机上.有人在他们的应用程序中看到过类似的东西吗

Nik*_*man 3

我从未追查过此问题的确切原因,但根据我开发相关应用程序的经验,我认为这是由于达到了活动的内存限制而引起的。当你的 Activity 耗尽内存后,似乎会发生各种奇怪的错误,包括这样的事情。

当我对应用程序的内存管理进行其他改进(特别是通过使用SoftReference位图)时,此类异常开始出现的频率降低。