rwo*_*cik 19 android classcastexception findviewbyid
我在Android上遇到了ClassCastException的奇怪问题.一个类不能被转换为同一个类:
java.lang.RuntimeException: Unable to start activity ComponentInfo: java.lang.ClassCastException: com.example.model.BadeWrapper cannot be cast to com.example.model.BadgeWrapper
java.lang.ClassCastException: com.example.events.widgets.TouchyWebView cannot be cast to com.example.events.widgets.TouchyWebView
java.lang.ClassCastException: com.example.friends.widgets.FriendsTabView cannot be cast to com.example.friends.widgets.FriendsTabView
Run Code Online (Sandbox Code Playgroud)
当我找到有错误的行时,它所做的就是通过id查找视图或使用参数创建片段,例如:
FriendsTabView friendsTabView;
friendsTabView = (FriendsTabView) view.findViewById(R.id.friends_bottom_tab_panel);
Run Code Online (Sandbox Code Playgroud)
正如我的BugSense所说,这个问题只发生在带有android 5.0.0(三星SM-G900F)的三星Galaxy S5上.我在其他设备上从未遇到过这个问题:
有没有人遇到过这个问题?有没有办法解决它?
rwo*_*cik 25
好吧我问题出在哪里.看起来Android 5.0上的三星可能仍然使用旧的multidex实现(在Android L Preview中使用),所以如果你的应用程序超过了64k的限制,它会在你使用强制转换的应用程序的随机位置崩溃(ExampleClass) object .
我们也看到这种崩溃每天发生数千次.Crashlytics将崩溃报告为100%三星设备(99%"SM G900F [Q]"设备)和100%Android 5.x. 似乎是三星+棒棒糖设备上的另一个多指标问题,正如a.jaskev在#3中报道的那样.
看起来我们要等到三星解决这个问题.现在我们所能做的就是通过bug报告观察邮箱上的垃圾邮件:)
| 归档时间: |
|
| 查看次数: |
3845 次 |
| 最近记录: |