0

我最近发布了我的第一个应用程序(音板),现在收到 Froyo 用户的投诉,虽然该应用程序看起来兼容,但它不能正常工作。

我的应用程序以启动画面开始,然后是一个主菜单,然后启动主要活动,其中有 7 个选项卡。每个选项卡包含大约 20 个声音,包括一个文本视图和 4 个图像按钮。与广告横幅一起,这在一项活动中可达到约 500 次观看。Eclipse 警告我,超过 80 次查看可能会影响性能,但即使是三星 Galaxy Y 等低档手机也能够运行该应用程序。

我为我的应用程序设置的最小 SDK 是 8 级,Froyo,现在在我得到负面反馈并对其进行测试后,我发现,在 Froyo 上,活动没有启动。

对于 Android 2.2,每个活动是否有 80 个视图的固定限制?我在任何地方都找不到这方面的信息。

这是我在开发者控制台中经常看到的错误:

java.lang.VerifyError: com.cheftony.psychsoundfree.Nicknames
at java.lang.Class.newInstanceImpl(Native Method)
at java.lang.Class.newInstance(Class.java:1429)
at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
at android.app.ActivityThread.access$2300(ActivityThread.java:125)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:902)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:660)
at dalvik.system.NativeStart.main(Native Method)

我应该怎么办?我正在考虑修改主菜单以根据设备的 android 版本启动不同的活动,即在任何带有 Gingerbread 或更高版本的手机上开始我的常规旧活动并创建一个新活动,其中界面分为几个活动,所以每个活动没有太多视图,这是很多工作,基本上会拆分应用程序并使更新它的工作加倍。

还是我应该排除 Froyo 设备?今天仍然支持 Froyo 有多重要?

4

1 回答 1

0

当我尝试调用仅在高于我的 minSdkVersion 的 SDK 版本中的方法时,我收到了这种错误 (VerifyError)。即使我确保它只在适当的 SDK 版本中被调用。解决方案是使用反射从更高的 SDK 访问方法。

我不确定这是不是你的情况,你怎么看?你在调用这种方法吗?

于 2012-08-09T12:28:22.523 回答