2011-09-30 18 views
8

我有一个应用程序,每天可以获得几千个用户。我通过市场获得了一些报告,表明我的输入活动无法加载其布局xml资源。我不明白这到底是怎么可能?:<1%的用户找不到布局ID?

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.me.app/com.me.app.MyActivity}: **android.content.res.Resources$NotFoundException: Resource ID #0x7f030065** 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1659) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1675) 
at android.app.ActivityThread.access$1500(ActivityThread.java:121) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:943) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:123) 
at android.app.ActivityThread.main(ActivityThread.java:3701) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:507) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:862) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f030065 
at android.content.res.Resources.getValue(Resources.java:896) 
at android.content.res.Resources.loadXmlResourceParser(Resources.java:1873) 
at android.content.res.Resources.getLayout(Resources.java:735) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:318) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207) 
at android.app.Activity.setContentView(Activity.java:1657) 
at com.me.app.MyBaseActivity.setContentView(MyBaseActivity.java:50) 
at com.me.app.MyActivity.onCreate(MyActivity.java:116) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1623) 
... 11 more 

的异常点,这条线:

setContentView(R.layout.my_layout); 

任何想法我可以做什么错在这里?同样,对于99%的用户来说,没有问题。

谢谢

+1

我一直在经历类似的事情。到目前为止,它只发生过一次,大约有5000个用户(至少它只被报告过一次)。非常感兴趣的是,如果有人知道这是为什么。 –

+0

与使用的设备和/或软件/操作系统版本有任何关联吗? –

+2

my_layout.xml位于哪里?你支持多个屏幕? – Selvin

回答

1

我对这个问题的评论认为,故障排除资源ID 0x7f030065的关键在于理解这些错误报告同意。

我假定资源不是my_layout文件。尽管my_layout被指出为问题的线,但它很可能不是根本问题。 my_layout文件中的内容是指资源0x7f030065。布局充气器通常不会很清楚地报告这些错误。

如果在默认文件夹中没有0x7f030065的版本(例如:drawable而不是drawable-landscape),那么可能是1%在配置中运行,但找不到该配置会回退到非 - 存在的默认值。即使您的应用被横向锁定,这也是可能的 - 例如,即使最终用户看不到它,偶尔也会发生肖像画。

它始终是相同的资源ID吗?这是一件值得注意的事情。

以我的经验,像运行内存等问题能引起这种充气时异常。如果资源0x7f030065指的是自定义布局类,那么任何发生在类的构造函数可能可能导致类似于资源$ NotFoundException

1

我曾经历过的东西。 我有一个活动,我只想在横向显示 - 所以在AndroidManifest.xml我有android:screenOrientation =“landscape”。 比文件夹layout-land还有我的布局文件。

不时,随机,我得到一个资源$ NotFoundException活动时试图加载主布局。

我通过重命名文件夹布局,用地布局解决了这个问题。

但我认为我们在Android中遇到了某种错误。

相关问题